인터페이스의 확장
인터페이스는 확장이 가능하다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// 인터페이스 확장
interface Person {
name: string;
age: number;
}
// interface Developer {
// name: string;
// age: number;
// language: string;
// }
// 상속을 통한 확장
interface Developer extends Person {
language: string;
}
var Captain: Developer = {
language: "TS",
age: 100,
name: "캡틴",
};
|
cs |
Person이라는 인터페이스를 상속받아 name과 age를 가지면서, language를 추가한 Developer 인터페이스를 만들 수 있다. 아래와 같이 extends를 사용해 확장한다.
interface (새로운인터페이스) extends (기존인터페이스) {
// 추가할 속성들
}
타입 별칭
타입 별칭은 특정 타입이나 인터페이스를 참조할 수 있는 타입 변수를 말한다.
1
2
3
4
5
6
7
8
9
10
11
|
// 인터페이스
interface Person {
name: string;
age: number;
}
// 타입 별칭
type Person2 = {
name: string;
age: number;
};
|
cs |
타입 별칭은 인터페이스와 비슷해 보이지만 인터페이스와 다르다.
타입 별칭은 새로운 타입을 만드는 것이 아니라, 쉽게 참고할 수 있도록 이름을 부여하는 것이다.
그래서 타입 별칭은 확장(상속)이 불가능하다.
확장이 가능한 인터페이스를 사용하는 것을 추천한다.
참고한 사이트
'Typescript' 카테고리의 다른 글
[Typescript] 이넘 타입(enum) (0) | 2022.07.13 |
---|---|
[Typescript] 연산자를 이용한 타입 정의 (0) | 2022.07.13 |
[Typescript] 인터페이스와 배열, 딕셔너리 (0) | 2022.07.11 |
[Typescript] 인터페이스(interface) (0) | 2022.07.11 |
[Typescript] Typescript의 기본 타입 (0) | 2022.07.11 |