타입과 인터페이스는 TypeScript의 버전이 올라가면서 함께 변화해갔다.
처음에는 타입의 기능이 약해서 인터페이스를 쓰라고 권장했지만
지금은 타입의 기능이 많이 강화되었는데 인터페이스와 사용성이 모호한 시점인듯하다.
그래서 역할을 정확히 나누는것이 좋다.
Interface
- Class의 규격, Object 간 소통할 때 쓰는 규약
- 이 인터페이스를 통해 구현해야하는 클래스가 있을 때
- 재정의할 수 있다. (let처럼)
Type
- 데이터의 타입 정의
- 구현할 목적이 아니라 데이터를 담을 목적으로 사용
- 재정의 할 수 없다. (const처럼)
- type alias를 통해 원시타입, 배열, 유니온 타입 등을 별칭화 할 수 있다.
'개발언어 > TypeScript' 카테고리의 다른 글
컴파일러(compiler) 설정 방법 (0) | 2021.04.16 |
---|---|
유틸리티 타입 (Utility Types) (0) | 2021.04.16 |
제네릭 <Generic> (0) | 2021.04.15 |
타입스크립트의 객체지향 (0) | 2021.04.15 |
타입 단언 (Type Assertions) (0) | 2021.04.12 |
댓글