본문 바로가기

타입스크립트

[Typescript] - declare와 d.ts 파일

declare

 

declare 키워드는 컴파일러에게 해당 변수나 함수가 이미 존재한다는 것을 알리는 역할을 한다 다른 영역의 코드에서 decalre로 선언된 해당 변수나 함수를 참조할 수 있으며 declare로 선언된 부분은 javascript로 컴파일 되지 않는다.

 

사용 예시로 만약 컴파일러가 인식하지 못하는 자바스크립트 파일을 웹사이트에 추가했다고 가정해보자

foo.com과 같이 다른 도메인에서 온 스크립트 파일일 수도 있다 해당 스크립트 파일은 실행되면서 api메서드를 생상하고 이를 글로벌 스코프에 있는 fooSdk 식별자에 할당한다.

 

만약 타입스크립트 코드에서 fooSdk.doSomething()를 호출한다면 컴파일러는 해당 변수가 존재하는지 알지 못하기에 컴파일 에러를 발생시킨다.

 

이때 declare 키워드를 이용하면 해당 변수의 존재와 타입을 알릴 수 있다 컴파일러는 해당 선언문을 다른 코드의 정적 타입 확인을 위해 사용할 뿐 javascript 파일로는 컴파일 하지는 않는다 

 

d.ts

 

 타입 스크립트 선언 파일 d.ts는 타입스크립트 코드의 타입 추론을 돕는 파일이다 예를 들면 전역 변수로 선언한 변수를 특정 파일에 import 구문 없이 사용하는 경우 해당 변수를 인식하지 못한다. 그럴 때 아래와 같이 해당 변수를 선언해서 에러가 나지 않게 할 수 있다.

 

해당 타입스크립트 파일에서 사용할 순 없지만 선언되어 있지 않은 전역 변수나 전역 함수는 아래와 같이 타입을 선언할 수 있다.