Type Inference(타입 추론)
Inference
- TS에서 변수 명에 특정 값을 할당할 때, 타입을 따로 명시하지 않았을 경우 알아서 타입이 자동으로 결정되는 것을 말한다.
let text = "hello"; // let text: string
//
text = 1; // Type 'number' is not assignable to type 'string'
- 위처럼
text
변수 명에hello
를 할당하였더니 변수 타입이string
으로 추론되어 자동으로 결정되었다. - 이후 타입이
number
값인 1을 재할당하니 에러가 발생한다. (기존의text
타입이string
으로 결정되었기 때문이다.)
Intersection in default
const print = (message = "안녕하세요") => {
// (parameter) message: string
console.log(message);
};
print(); // 안녕하세요
print("반갑습니다."); // 반갑습니다.
print(1); // Argument of type '1' is not assignable to parameter of type 'string | undefined'
//
const add = (x = 1, y = 2) => {
return x + y;
};
const result = add(); // const result: number
console.log(result); //
- 특정 함수의 인자의 타입값을 따로 지정하지 않고, default 값에 따라 타입이 추론되어 지정될 수 있다.
add
함수의 경우, 인자들이 숫자값이므로number
로 타입이 추론되어 결정되었다. 또한result
값도add
의 return값이number
타입을 갖고 있으므로 위같은 결과를 확인할 수 있었다.
Reference
- 타입스크립트 공식문서
- 타입스크립트 핸드북
- 드림코딩 엘리님의 TS 및 OPP 강의
'TypeScript' 카테고리의 다른 글
TIL | Generics (0) | 2021.10.23 |
---|---|
TIL | Interface (0) | 2021.10.23 |
TIL | Union, Intersection (0) | 2021.10.23 |
TIL | Alias (0) | 2021.10.23 |
TIL | Array, readonly, Tuple (0) | 2021.10.23 |