해결된 질문
작성
·
309
0
index.d.ts 에서 declare global 없이 그냥 interface 만 정의해도 express.ts 에서 Error 와 User 의 타입이 합쳐지고 인식되는 것 같은데,
declare global 을 선언하고 타입을 정의하는 것과, 그냥 없이 선언하는 것에 구체적으로 어떤 차이가 있는 건가요??
답변 1
1
모듈 파일이냐 스크립트 파일이냐의 차이가 큽니다.
export import같은 게 최상위 스코프에 있는 경우는 모듈 파일이 되고, 이 때는 declare global해야 합니다.
반대로 최상위에 없으면 스크립트 파일이고 이 파일은 그 자체로 전역에서 사용 가능해서 따로 declare global할 필요가 없습니다.