ts declare

김동현·2023년 3월 6일

TS

목록 보기
1/1

TypeScript는 Ambient Declaration(주변선언)라는 걸 정의 / TypeScript로 작성하지 않은 코드의 타입 정보를 컴파일러에게 알려주는 선언입니다. 대게 외부 사용자에게 내가 만든 라이브러리의 타입 정보를 알려줄 목적으로 d.ts 파일ㅇㄹ 정의할 때 Ambient Declaration을 이용합니다.

Ambient Declaration을 작성할 때 declare 키워드 사용

declare namespace

컴파일러는 namespace로 선언한 TS코드를 JS일반 객체로 컴파일하는데, declare 키워드를 붙이면 JS코드로 컴파일 하지 않습니다. 객체의 타입 정보만 알려줄 목적이면 declare namespace를 사용합니다. 이를 Ambient Namespace 또는 internal Module 이라 부릅니다.

declare module

declare module로 선언한 타입만 가진 모듈을 Ambient Module이라 하며, Ambient Module이 컴파일 대상에 포함이 되어있기만 하면 typescript 컴파일러는 자동으로 타입을 인지, Ambient Namespave와 유사하지만 import를 할 때 동작합니다.

declare module과 declare namespace

declare키워드는 타입스크립트 컴파일러에게 특정한 변수가 있다고 선언하는 키워드로 전역변수를 사용허거나 .d.ts 파일을 만들때 사용

두가지 모듈 선언 방법

  1. declare module "buffer" {}
    // 외부 모듈(es6)을 정의 하는 방법
  2. declare module buffer{} = declare namespace buffer {}
    // 내부 모듈을 정의 하는 방법

참고 : https://velog.io/@kmp1007s/Typescript-%EB%AA%A8%EB%93%88%EA%B3%BC-%EA%B4%80%EB%A0%A8%EB%90%9C-%EC%9D%B4%EC%95%BC%EA%B8%B0
참고 : https://huns.me/2022-05-22-43-TypeScript%EC%97%90%EC%84%9C%20%EC%A0%84%EC%97%AD%20%EA%B0%9C%EC%B2%B4%20%ED%83%80%EC%9E%85%EC%9D%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%A0%95%EC%9D%98%ED%95%98%EB%82%98%EC%9A%94

profile
꺽이지 않는 마음

0개의 댓글