[TS] 타입스크립트 첫걸음 4편(타입 별칭)
타입 별칭과 인터페이스의 차이점
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
interface Person {
name: string;
age: number;
}
// type Person = {
// name: string;
// age: number;
// };
// 위 두개가 무엇이 다를까? 마우스를 갖다 대었을 때(프리뷰로 볼때), interface 경우는 그냥 interface 가 뜨고,
// type 으로 하면 {name: string, age: nnumber} 와 같이 구체적으로 뜬다.
let sungrin: Person = {
name: "성린",
age: 30,
};
type MyString = string;
let str: MyString = "hello";
type Todo = { id: string; title: string; done: boolean };
function getTodo(todo: Todo) {}
타입별칭과 인터페이스의 가장 큰 차이점은 확장가능 / 불가능 여부이다.
인터페이스는 확장이 가능한데 , 타입별칭은 확장이 불가능하다. 가능한한 type 보다는 interface 로 선언해서 사용하는 것이 좋다.