객체 ⇒ interface 로 구현
Type 정의 ⇒ Type 으로 구현.
Type과 Interface의 **가장 큰 차이점은 확장 가능성**입니다.
Type은 이미 존재하는 타입을 조합하여 새로운 타입을 만들기 때문에, 이미 선언된 타입의 확장이 불가능합니다. 반면에 Interface는 이미 선언된 인터페이스를 확장하여 새로운 인터페이스를 만들 수 있습니다.
- type
- Type은 새로운 타입을 정의할 때 사용되며,예를 들어, 아래와 같이 **Person**타입을 정의할 수 있습니다.
type Person = {
name: string;
age: number;
};
- interface
- Interface는 객체의 구조를 정의할 때 주로 사용되며, 프로퍼티와 메서드의 이름, 타입, 파라미터 등을 정의할 수 있습니다.
interface IPerson {
name: string;
age: number;
}
- 아래 예제에서 **IStudent**인터페이스는 IPerson 인터페이스를 확장하여 grade
- 프로퍼티를 추가한 새로운 인터페이스를 만들었습니다.
interface IPerson {
name: string;
age: number;
}
interface IStudent extends IPerson {
grade: number;
}
Type과 Interface 중 어떤 것을 선택해야 하는지는 개인적인 취향에 따라 다를 수 있습니다.
일반적으로 **객체의 구조를 정의할 때는 Interface를 사용하는 것이 좋으며,**
타입을 정의할 때는 Type을 사용하는 것이 좋습니다.
'Programming Language > TypeScript' 카테고리의 다른 글
[ TypeScript ] Class 예제 (1) | 2024.02.14 |
---|---|
[ TypeScript ] Interface 예제 (0) | 2024.02.14 |
[ TypeScript ] 리터럴(Literal), 유니온/교차 Type (0) | 2024.02.14 |
[TypeScript] JavaScript 와 TypeScript 의 차이점 (0) | 2024.02.14 |