[Typescript] 타입 가드 (type guard)

타입 가드로 주는 편의성 interface Burger { name: string; ingredients: string; } interface Fries { name: string; size: number; } function introduce(): Burger | Fries { return {name: 'Cheese Burger',...

[Typescript] 타입 호환 (type compatibility)

타입 호환 (type compatibility) 타입 호환이란 타입스크립트 코드에서 특정 타입이 다른 타입에 잘 맞는지를 의미한다. 인터페이스 (interface) // 1. interface interface Burger { name: string; ingredients: string; } interface Candy...

[Typescript] 타입 추론 (type inference)

타입 추론 (type inference) 타입스크립트 파일내에서 변수를 선언하면 VSCode 내부적으로 language server가 돌아가며 변수의 타입을 추론한다. 아무값을 안주고 변수를 선언하면 VSCode의 language server가 아래와 같이 any라 추론한다. 그리고 안에 값을...

[Typescript] 타입 단언 (type assertion)

타입 단언 (type assertion) 타입스크립트의 타입 추론 기능은 매우 강력하지만 어쩔 수 없는 한계가 존재한다. 타입 단언은 타입스크립트 컴파일러가 타입을 실제 런타임에 존재할 변수의 타입과 다르게 추론하거나 너무 보수적으로 추론하는...

[Typescript] 제네릭 (Generics)

제네릭 (Generics) 제네릭은 재사용성이 높은 컴포넌트를 만들 때 자주 쓰인다. 특히, 한가지 타입보다 여러가지 타입에서 동작하는 컴포넌트를 생성하는데 사용된다. 제네릭은 아래와 같이 쓸 수 있다. T는 들어갈 타입이다. function logText<T>(text:...