declare & ambient module

김범주·2022년 7월 18일
0

typescript

목록 보기
18/23
post-thumbnail

declare

//(data.js)

var a = 10;
var b = {name :'kim'};
-----------------------------------------------------------------------------------
//(index.ts)

declare let a :number;
console.log(a + 1);

declare는 어딘가에 a라는 변수가 있으므로 에러를 그만 내라는 뜻으로 사용함
declare이 붙은 코드는 js로 변환되지 않음

tsconfig.json 안에 allowJs 옵션을 true로 켜두면 js파일도 타입지정이 알아서 implicit
리액트 같은 프로젝트에서 유용

ambient module

//(data.ts)

type Age = number;
let 나이 :Age = 20;
--------------------------------------------------------------------------------------
//(index.ts)

console.log(나이 + 1) //가능
let 철수 :Age = 30; //가능

ts 파일에 입력한 대부분의 변수와 타입은 전부 global 취급을 받음
그러나 import나 export가 들어간 ts파일은 global X, 로컬 모듈이 됨

profile
개발꿈나무

0개의 댓글