인프런 커뮤니티 질문&답변

jj15390님의 프로필 이미지
jj15390

작성한 질문수

[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편

passport에서 req.user 타이핑하기

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

해결된 질문

작성

·

309

0

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

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

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

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

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

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

jj15390님의 프로필 이미지
jj15390

작성한 질문수

질문하기