Typescript

[Typescript] 인터페이스의 확장(상속), 타입 별칭

joy_lee 2022. 7. 11. 20:51

인터페이스의 확장

인터페이스는 확장이 가능하다.

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

타입 별칭은 인터페이스와 비슷해 보이지만 인터페이스와 다르다.

타입 별칭은 새로운 타입을 만드는 것이 아니라, 쉽게 참고할 수 있도록 이름을 부여하는 것이다.

그래서 타입 별칭은 확장(상속)이 불가능하다.

확장이 가능한 인터페이스를 사용하는 것을 추천한다.

 

 

참고한 사이트

https://joshua1988.github.io/ts/guide/type-alias.html#%ED%83%80%EC%9E%85-%EB%B3%84%EC%B9%AD-type-aliases

 

타입 별칭 | 타입스크립트 핸드북

타입 별칭 (Type Aliases) 타입 별칭은 특정 타입이나 인터페이스를 참조할 수 있는 타입 변수를 의미합니다. 예를 들면 아래와 같습니다. 위와 같이 string, number와 같은 간단한 타입 뿐만 아니라 inter

joshua1988.github.io