Typescript - interface (인터페이스)

SB·2023년 6월 20일
1

Typescript!

목록 보기
2/4

인터페이스

인터페이스는 자바스크립트 런타임 환경에서는 전혀 영향을 주지 않는다. 인터페이스는 타입스크립트에서 변수의 구조로 선언된다.

다음 두가지는 동등한 선언이며 하나는 인라인 주석을 사용하고 두번째는 인터페이스를 사용한다.

// Sample A
declare var myPoint: { x: number; y: number }

// Sample B
interface Point {
    x: number
    y: number
}
declare var myPoint: Point

Sample B의 장점은 누군가가 myPoint 라이브러리에 빌드 된 라이브러리를 작성하여 새 멤버를 추가한다는 것으로 기존의 myPoint 선언에 쉽게 추가 할 수 있다.

// Lib a.d.ts
interface Point {
    x: number; y: number;
}
declare var myPoint: Point;

// Lib b.d.ts
interface Point {
    z: number;
}

// Your code
var myPoint.z; // Allowed!

위의 코드가 허용이 되는 이유는 타입스크립트의 인터페이스는 개방형이기 때문이다. 이러한 개념은 인터페이스를 사용하여 자바스크립트의 확장성을 모방하는 타입스크립트의 핵심 원리이다.

profile
developerr

0개의 댓글

관련 채용 정보