인터페이스

TypeScript #3 인터페이스(interface) - 타입스크립트 강좌

인터페이스에 대해 알아보자.

문제사항

이런 객체를 생각해보자. 객체는 object타입으로 타입선언할 수 있다.

let user:object;

user = {
    name:'hi',
    age:30
}

console.log(user.name);

그런데 콘솔로그를 찍어보려하면 컴파일 오류가 난다. 자바스크립트 문법으로는 오류가 없다.

그리고 객체 리터럴 내에 프로퍼티에 타입을 지정하려고 해도 타입이 붙지 않는다.

image.png

타입명 string을 값으로 인식하고 있다… 이는 프로퍼티에 값 할당하는

: 

문법이 TS의 타입선언 문법과 동일하기 때문이다

타입을 사용하지 않고 그냥 값만 출력하려고 해도

image.png

타입 object내에 name이 없다는 컴파일 오류가 난다! 이게 무슨 의미일까? 이건 말 그대로 최상위 객체인 object내에 name이라는 프로퍼티가 없기 때문이다.

해결 방법 - 인터페이스