타입 추론이란 타입스크립트가 코드를 해석해 나가는 동작을 의미합니다.
let x = 3;
위와 같이 x
에 대한 타입을 따로 지정하지 않더라도 일단 x
는 number
로 간주됩니다.
이렇게 변수를 선언하거나 초기화 할 때 타입이 추론됩니다.
이외에도 변수, 속성, 인자의 기본 값, 함수의 반환 값 등을 설정할 때 타입 추론이 일어납니다.
interface Dropdown<T>{
value: T;
title: string;
}
let shoppingItem: Dropdown<string> = {
value: 'abc',
title: 'hello'
}
string
을 넘겼기 때문에, value
의 타입은 string
이 됩니다.interface Dropdown<T>{
value: T;
title: string;
}
interface DetailedDropdown<T> extends Dropdown<T> {
description: string;
tag : T;
// 암묵적으로 value, title 들어온다.
}
let detailedItem: DetailedDropdown<string> = {
title: 'abc',
description: 'ab',
value: 'a', // string이라고 정의.
tag: 'b'
}
let arr = [1,2,3]; // number[]
let arr1 = [1,2,true] // (number | boolean)[]