어떤 2개의 타입의 이름, 위치가 다르더라도 구조가 같다면 Typescript는 2개의 타입을 같은 타입으로 본다. (Duck typing)
type A = {
a: string
}
type B = {
a: string
}
let a: A = {a: 'aa'}
let b: B = {a: 'bb'}
a = b // 가능
b = a // 가능
정리
Typescript는 컴파일 단계에서 타입 검사를 하는데 이때 Duck typing 방식을 사용한다.
C#/java는 이름이 같은지까지 확인하는 nominal typing 방식을 사용한다.
'프론트엔드 > JavaScript, TypeScript' 카테고리의 다른 글
브라우저 탭간 통신하는 3가지 방법 (0) | 2024.08.02 |
---|---|
동시 여러 개의 토큰 리프레시 요청 관리하기 (0) | 2024.07.28 |
조건부 타입과 맵드 타입, 유틸리티 타입 (1) | 2023.03.15 |
타입 가드 (1) | 2023.01.25 |
?. - Optional chaining 연산자 / ?? - Null 병합 연산자 (0) | 2022.08.22 |