• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

index.d.ts 에서 global declare 선언을 했을 때와 하지 않았을 때의 차이

23.05.06 16:36 작성 조회수 240

0

index.d.ts 에서 declare global 없이 그냥 interface 만 정의해도 express.ts 에서 Error 와 User 의 타입이 합쳐지고 인식되는 것 같은데,

declare global 을 선언하고 타입을 정의하는 것과, 그냥 없이 선언하는 것에 구체적으로 어떤 차이가 있는 건가요??

답변 1

답변을 작성해보세요.

1

모듈 파일이냐 스크립트 파일이냐의 차이가 큽니다.

export import같은 게 최상위 스코프에 있는 경우는 모듈 파일이 되고, 이 때는 declare global해야 합니다.

반대로 최상위에 없으면 스크립트 파일이고 이 파일은 그 자체로 전역에서 사용 가능해서 따로 declare global할 필요가 없습니다.