타입스크립트에서는 interface와 type 두 가지 방법으로 타입을 정의할 수 있습니다.
Interface
interface는 객체의 구조를 정의하는 데 사용됩니다.
interface Person {
name: string;
age: number;
address?: string;
}
위의 코드에서 Person이라는 인터페이스를 정의하고 있습니다.
name과 age라는 필수 속성과 address라는 선택적 속성을 가지고 있습니다.
const person: Person = {
name: 'John',
age: 30
};
Type
type은 특정 타입을 정의하는 데 사용됩니다.
type Person = {
name: string;
age: number;
address?: string;
}
위의 코드에서 Person이라는 타입을 정의하고 있습니다.
const person: Person = {
name: 'John',
age: 30
};
Interface vs Type
interface와 type은 매우 유사합니다. 하지만 몇 가지 차이점이 있습니다.
- interface는 extends를 사용하여 다른 인터페이스를 확장할 수 있지만, type은 확장할 수 없습니다.
- interface는 implements를 사용하여 클래스에서 구현할 수 있지만, type은 구현할 수 없습니다.
- interface는 declare를 사용하여 선언할 수 있지만, type은 선언할 수 없습니다.
따라서, 일반적으로 객체의 구조를 정의할 때는 interface를 사용하는 것이 좋으며, union, tuple 등이 필요한 특정 타입을 정의할 때는 type을 사용하는 것이 좋습니다.
'TypeScript' 카테고리의 다른 글
타입스크립트 any vs unknown 차이 및 사용법 (0) | 2023.03.02 |
---|---|
타입스크립트를 도대체 왜 써 ? (0) | 2022.01.13 |