강의 내용 요약
- Programming Language
- 정의 : 컴퓨터에게 코드 내용의 일을 시키는 것
- 하이레벨에서 로우레벨인 기계어로 변환의 과정이 필요
- Compiler
- 프로그래머가 작성한 언어를 기계어로 변환한 실행 파일을 생성하여 실행함
- 컴파일 시간이 필요하다는 점이 단점
- Interpreter
- 소스 코드를 한 줄씩 읽고, 즉시 실행(Python이 대표적)
- 즉, 해석과 실행 타이밍이 동시에 이루어짐
- 실행 준비 시간이 짧지만, 실행을 하는 시간이 다소 오래 걸림
- stage
- source
- typescript
- 실행하기 이전의 단계
- buildtime
- javascript
- 실행을 하기 위해 준비하는 단계
- runtime
- javascript
- 실행하는 단계
- source
즉 TS -> JS -> JS임을 알 수 있다.
- typescript
- type 지정
- '타입' 개념의 범위는 ?
- type 지정
ex) let data:number = 10; / let data2:string = ‘Hello’; …
- type custom
type BloodType = ‘A’ | ‘B’ | ‘AB’ | ‘O’ ≤== Union Type // custom
let bloodType:BloodType = ‘A’ ⇒ 명시된 타입에 해당되지 않을 시 에러를 반환
함수의 반환값도 (파라미터) 뒤에 :type 지정 가능
function myFunc(a: number, b: number): number { return a + b; }
객체에 대한 타입 지정도 가능
interFace User { //type과 interface로 골라서 쓸 수 있지만, interface를 권장
name: string;
age: number;
height: number;
}
let user: User {
name: 'John',
age: 30,
height: 180,
hobby: movie, // 정의한 type과 맞지 않을 시 오류 발생
}
=> type과 맞지 않을 시 에러가 남
type의 상속
interface Animal {
name: string;
}
interface Bear extends Animal { //부모 type을 '상속'받을 수 있는데 이때 사용하는 키워드는 extends
height : number;
}
=> Bear은 Animal 형태를 그대로 상속받음
함수의 형태에 대해 정의하는 것도 가능
// function
function greeter(fn: (a: string) => void) {
fn("hello, world!");
}
function printToConsole(s: string) {
console.log(s);
}
greeter(printToConsole);
// generic function
function firstElement<Type>(arr: Type[]): Type | undefined { //generic도 상속 가능
return arr[0];
}
'패스트캠퍼스 데브캠프' 카테고리의 다른 글
김민태의 데브캠프 2기 - 실시간 강의(11/25) (1) | 2024.11.27 |
---|---|
김민태의 데브캠프 2기 - 실시간 강의 (11/20) (2) | 2024.11.20 |
김민태의 데브캠프 2기 - Next.js의 Data Fetching (0) | 2024.11.20 |
김민태의 데브캠프 2기 - Next JS란? (1) | 2024.11.20 |
김민태의 데브캠프 2기 - Redux Thunk (0) | 2024.11.19 |