TypeScript(16)

조은형·2023년 10월 21일

declare 키워드 사용

(data.js)
var a = 10;
var b = {name :'kim'};

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

js파일에서 쓴 코드를 ts파일에서 사용하고 싶다면 ts파일에서 위의 코드처럼 declare를 선언하고 사용할 수 있다.

.ts파일에 있던 변수는 그냥 import/export하면 된다.

Ambient Module

(data.ts)

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

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

타입스크립트에서는 import/export없이도 다른 파일에서 가져다 쓸 수 있다.

즉, global변수가 된다는 것인데 그것을 Local Module로 바꾸기 위해서는

(data.ts)
export {};
type Age = number;
let 나이 :Age = 20;
(index.ts)

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

위의 코드처럼 export{}를 아무 위치에나 넣어주면 된다.

그럼 import/export써야한다.

Declare Global

ts 파일에 import export 문법이 없으면 글로벌 모듈이 된다.
ts 파일에 import export 문법이 있으면 로컬 모듈이다.

근데 로컬 모듈에서 갑자기 전역으로 변수를 만들고 싶을 때가 생길 수도 있다.

declare global {
  type Dog = string;
} 

그런 경우 로컬파일에 위의 코드처럼 만들면 global하게 사용할 수 있게된다.

profile
좋은 형

0개의 댓글