
TS 특징 : Ambient Module
(data.ts)
type Age = number;
let 나이 :Age = 20;
(index.ts)
console.log(나이 + 1) //가능
let 철수 :Age = 30; //가능
타입스크립트 파일끼리는 import export를 따로 하지 않아도
변수나 타입을 가져다 사용할 수 있다.
=> 기본값이 전역변수로 생성됨
=> 전역파일로 ambient module이라고 칭함.
- 하지만,
같은 이름의 변수를 생성하고 싶을 때는 방법이 있다.
export {};
import 또는 export 키워드를 작성하면 그 파일은
=> 로컬 모듈로 바뀐다.
declare global
(data.ts)
declare global {
type Dog = string;
}
export {};
(index.ts)
let b: Dog = "hong";
console.log(b);
declare global { }을 사용하면
로컬모듈이라도 괄호 안에 있는 변수나 타입들은 전역변수화 된다.
왠지. ts파일을 따로 만들었는데 변수명이 공유가 되어서 왜 이러지..? 하고
대충 주석하면서 새로운 파일을 만들었는데 드디어 궁금증이 해결되었다.. 신기해,,
그리고, declare 문법은 자주 사용할 일은 없을 것 같다.
import 하면 되는 건데 굳이 사용을 할 날이 올까 싶다.
'TypeScript' 카테고리의 다른 글
implements 키워드 (0) | 2023.07.04 |
---|---|
d.ts 타입 정리 파일 (0) | 2023.07.04 |
Tuple type (0) | 2023.07.04 |
Redux toolkit (0) | 2023.07.04 |
React + TypeScript 타입지정 (0) | 2023.07.04 |

TS 특징 : Ambient Module
(data.ts)
type Age = number;
let 나이 :Age = 20;
(index.ts)
console.log(나이 + 1) //가능
let 철수 :Age = 30; //가능
타입스크립트 파일끼리는 import export를 따로 하지 않아도
변수나 타입을 가져다 사용할 수 있다.
=> 기본값이 전역변수로 생성됨
=> 전역파일로 ambient module이라고 칭함.
- 하지만,
같은 이름의 변수를 생성하고 싶을 때는 방법이 있다.
export {};
import 또는 export 키워드를 작성하면 그 파일은
=> 로컬 모듈로 바뀐다.
declare global
(data.ts)
declare global {
type Dog = string;
}
export {};
(index.ts)
let b: Dog = "hong";
console.log(b);
declare global { }을 사용하면
로컬모듈이라도 괄호 안에 있는 변수나 타입들은 전역변수화 된다.
왠지. ts파일을 따로 만들었는데 변수명이 공유가 되어서 왜 이러지..? 하고
대충 주석하면서 새로운 파일을 만들었는데 드디어 궁금증이 해결되었다.. 신기해,,
그리고, declare 문법은 자주 사용할 일은 없을 것 같다.
import 하면 되는 건데 굳이 사용을 할 날이 올까 싶다.
'TypeScript' 카테고리의 다른 글
implements 키워드 (0) | 2023.07.04 |
---|---|
d.ts 타입 정리 파일 (0) | 2023.07.04 |
Tuple type (0) | 2023.07.04 |
Redux toolkit (0) | 2023.07.04 |
React + TypeScript 타입지정 (0) | 2023.07.04 |