Differences Between Type Aliases and Interfaces
인터페이스의 거의 모든 기능은 유형에서 사용할 수 있습니다.
interface Animal {
name: string
}
interface Bear extends Animal {
honey: boolean
}
const bear = getBear()
bear.name
bear.honey
type Animal = {
name: string
}
type Bear = Animal & {
honey: Boolean
}
const bear = getBear();
bear.name;
bear.honey;
비슷하지만, 주요 차이점은 항상 확장 가능한 인터페이스와 비교하여 새 속성을 추가하기 위해 유형을 다시 열 수 없다는 것입니다.
interface Window {
title: string
}
interface Window {
ts: TypeScriptAPI
}
const src = 'const a = "Hello World"';
window.ts.transpileModule(src, {});
type Window = {
title: string
}
type Window = {
ts: TypeScriptAPI
}
// Error: Duplicate identifier 'Window'.
'coding > typescript' 카테고리의 다른 글
[TypeScript] 기초와 유니온 (0) | 2021.03.21 |
---|---|
[TypeScript] .tsconfig 보일러 플레이트 제공 (0) | 2021.03.21 |
댓글