declare를 사용하면 이미 정의된 변수나 함수를 재정의 할 수 있으며 당연히 타입도 재정의가 가능하다.
예를 들어서
// html 파일에서 두개의 js파일을 첨부한 상황
<script src="a.js"></script>
<script src="b.js"></script> // b.ts파일에서 변환된 js 파일
// a.js
let age = 27;
// b.js
console.log( age + 1 );
이렇게 실행한다면 콘솔 창에 28이 실행이 된다.
하지만 b.ts에서는 age라는 변수가 정의되지 않았다고 에러가 발생한다.
이럴 때 declare를 사용하면 에러를 해결할 수 있다. (재정의를 하는 것)
// b.ts
declare let age :number;
console.log(age + 1);
더보기
tsconfig.json 안에 allowJs옵션을 true로 사용하게 되면 js파일도 타입 지정이 알아서 되기 때문에 리액트 같은 프로젝트에서 유용하다고 한다
'TypeScript' 카테고리의 다른 글
[TS] TypeScript 구조적 타이핑, 덕 타이핑 (0) | 2022.12.30 |
---|---|
[TS] TypeScript 객체 프로퍼티 접근 (Index Signature) (0) | 2022.09.23 |
keyof 연산자 (0) | 2021.12.23 |
tsc -w (0) | 2021.11.23 |
TypeScript 문법 (0) | 2021.11.06 |