Programming/JavaScript & TypeScript
TypeSystem
홍열
2022. 2. 16. 15:51
728x90
타입스크립트의 타입 체계를 이해하는데 도움이 된다.
타입스크립트는 Structual Type System을 따른다.
Structual Type System
구조가 같으면 같은 타입이다.
interface IPerson {
name:string;
age:number;
speak():string;
};
type PersonType = {
name:string;
age:number;
speak():string
};
let personInterface : IPerson = {} as any;
let personType : PersonType = {} as any;
// 같은 구조니까 대입 가능
personInterface = personType
personType = personInterface
Nominal Type System
구조가 같아도 이름이 다르면, 다른 타입니다. (C, java 등등..)
Duck Typing
만약 어떤 새가 오리 처럼 걷고, 헤엄치고, 꽥꽥거리는 소리는 낸다면 나는 그 새를 오리라고 부를 것이다. (python)
structual typesystem과 유사한 방식