type
과 interface
다음 두 코드는 완벽히 동일한 기능을 한다.
type Person = {
name: string;
age: number;
city: string;
}
interface Person {
name: string;
age: number;
city: string;
}
type
으로 정의하면 =
를 사용하며,
interface
로 정의하면 =
를 쓰지 않는다.
타입스크립트에서는 type
이나 interface
두 가지를 사용하여 타입을 정의할 수 있다.
interface
는 주로 객체의 구조를 정의하는데 사용되고,
type
은 객체뿐만 아니라 모든 종류의 타입을 정의하는데 사용될 수 있다.
interface
를 사용하면 주로 객체와 관련된 타입을 정의하는데 더 자연스럽고 가독성이 좋을 수 있다.
type
을 사용하면 객체 이외의 다른 종류의 타입도 포함하여 정의할 수 있다.
따라서 개발자의 취향과 상황에 맞게 적절한 방식을 선택하여 사용하면 된다.