declare 키워드

장유진·2022년 6월 28일
1

TypeScript

목록 보기
11/14

declare 키워드는 컴파일러에게 해당 변수나 함수가 이미 존재한다는 것을 알리는 역할을 한다. 다른 영역의 코드에서 declare로 선언된 해당 변수나 함수를 참조할 수 있다. declare로 선언된 부분은 JS로 컴파일 되지 않고 TS 컴파일러에게 타입 정보를 알리기만 한다. 이미 생성된 변수에 타입을 추가하고 싶을 때 사용하는 것 같다.

declare 블록

이 영역 안에서는 declare 키워드가 기본으로 붙는다. 또한 이 영역 안에서는 선언 코드가 아닌 일반 코드를 작성할 수 없다.

  • declare namespace ABC
  • declare module "ABC"
  • declare global: 모듈 파일에서도 전역 참조가 가능한 선언 코드를 작성하고 싶을 때 사용한다. 전역 참조가 가능하다는 것은 해당 선언의 참조를 위해 별도의 불러오기 코드가 필요 없다는 뜻이다. 참고로 이 블록은 오로지 declare module 블록 안에서만 중첩이 가능하다.

예)

declare global {
  interface Window {
    DesktopLayout: {
      set: (state) => void;
      render: (options) => void;
      hydrate: () => void;
    };
  }
}
profile
프론트엔드 개발자

0개의 댓글