interface는 merging을 할 수 있다. type alias에서는 사용할 수 없다. interface Test { a: string; } interface Test { b: string; } let test: Test; // test.을 하면 a와 b가 둘다 나온다. 프로퍼티를 정의해서 객체로 표현하고자 할 때 type Score = 'A' | 'B' | 'C' | 'F'; interface User { name :string; age: number; // 입력을 해도 되고 안해도 되는 속성에는 ?
를 붙인다. gender? : string; // 읽기 전용 속성으로 만들면 수정시 에러가 발생한다.
즉 최소 생성시만 할당이 가능. readonly birthYear: number; // 문자열 인덱스 서명, grade는 의미가 없다. 이름일 뿐이다. // key가 number이고 value가 string인 프로퍼티를 여러 개 받을 수 있다는 의미.
[grade: number] ...
#
interface
#
TypeScript
#
객체
#
상속
#
인터페이스
#
클래스
#
함수
원문 링크 : 인터페이스