드림오구
article thumbnail

🌊 타입 추론

 

타입 추론 (Type Inference)

let num = 59;
num = 'ogu';
// Type 'string' is not assignable to type 'number'.
// num = 'ogu';

 

변수 num은 타입이 지정되지 않았지만 숫자열을 할당 할당했기 때문에 자동으로 number type으로 유추하기 때문에 다른 타입으로 재 할당하면 오류가 발생한다.

 

문맥상의 타이핑 (Contextual Typing)

표현식의 context를 사용하여 그 표현식에 대한 유형을 추론하는 것을 의미하는데, 이 기능은 함수의 매개변수, 표현식, 타입이 명시적으로 주어지지 않는 상황에서 유용하게 사용됩니다.

 

type Animal = {
  name: string;
  age: number;
}

const animals: Animal[] = [
  { name: 'Lion', age: 7 },
  { name: 'Tiger', age: 5 },
  { name: 'Elephant', age: 10 },
];

const names = animals.map(animal => animal.name);

 

animals 배열이 Animal 타입의 객체들로 이루어져있기 때문에 map 함수의 콜백 함수 animal 매개변수의 타입을 'Animal'로 추론하여 콜백함수 내에서 animal.name에 접근하는 것이 가능해진다. 

 

 

profile

드림오구

@드림오구