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을 사용하면 객체 이외의 다른 종류의 타입도 포함하여 정의할 수 있다.
따라서 개발자의 취향과 상황에 맞게 적절한 방식을 선택하여 사용하면 된다.