한 입 크기로 잘라먹는 타입스크립트 - 인터페이스 합치기
1. 인터페이스 선언 합침
선언 합침(declaration merging) : 동일한 이름으로 정의한 인터페이스는 다 합쳐짐.
주로 라이브러리의 모듈을 보강할 때 사용.
- chapter2.ts
/**
* 선언 합침
*/
// 타입 별칭 2번 정의시 오류
type typePerson = {
name: string;
}
type typePerson = {
age: number;
}
// 인터페이스 2번 정의시 오류X
// 동일한 이름으로 정의한 인터페이스는 다 합쳐지기 때문
interface Person {
name: string;
}
interface Person {
// name: number; // 다른 타입 (충돌) - 선언 합침에선 허용X
// name: 'test'; // 서브 타입 (충돌) - 선언 합침에선 허용X
name: string; // 반드시 동일한 타입 - 같은 프로퍼티 중복 정의시 타입도 같아야 함
age: number;
}
interface Developer extends Person { // 확장
name: 'hello'; // 서브 타입 프로퍼티 허용
}
const person: Person = {
name: 'js'
, age: 31
};
/**
* 모듈 보강
*/
interface Lib {
a: number;
b: number;
}
interface Lib {
c: string;
}
const lib: Lib = {
a: 1
, b: 2
, c: 'hello'
};
한 입 크기로 잘라먹는 타입스크립트(TypeScript) 강의 | 이정환 Winterlood - 인프런
이정환 Winterlood | 문법을 넘어 동작 원리와 개념 이해까지 배워도 배워도 헷갈리는 타입스크립트 이제 제대로 배워보세요! 여러분을 타입스크립트 마법사🧙🏻♀️로 만들어드립니다., 프론
www.inflearn.com
'강의 실습 > 한 입 크기로 잘라먹는 타입스크립트(TypeScript)' 카테고리의 다른 글
타입스크립트의 클래스 (1) | 2024.11.18 |
---|---|
자바스크립트의 클래스 소개 (1) | 2024.11.17 |
인터페이스 확장하기 (2) | 2024.11.12 |
인터페이스 (1) | 2024.11.11 |
사용자 정의 타입 가드 (0) | 2024.11.04 |
댓글