본 내용은 Nomad Coders - TypeScript로 블록체인 만들기 강의를 토대로 작성하였습니다.
1. tsconfig.json
- TypeScript 설정 파일
- IDE가 이를 감지하여 프로젝트에서 TypeScript로 작업하는 것을 알게 됨
- 자동완성기능 제공
예시
{
// where, 어디에 타입스크립트 파일이 있는 지
// TypeScript -> JavaScript로 컴파일하고 싶은 모든 디렉터리 넣기
"include": ["src"],
// 컴파일 옵션
"compilerOptions": {
// JavaScript 파일이 생성될 디렉터리 지정
"outDir": "build",
// 어떤 버전의 JavaScript로 컴파일 할 지
"target": "ES6",
// TypeScript가 어떤 런타임 환경에서 동작할 지 알려줌
"lib": ["ES6", "DOM"],
// 엄격 모드
"strict": true,
// JS 허용
"allowJs": true
}
}
2. Declaration Files
- TypeScript는 내장된 JavaScript API를 위한 기본적인 타입 정의를 가지고 있음
- tsconfig에서 lib 속성에 ES6, DOM을 지정하면 이에 맞는 d.ts(타입 정의) 파일을 가져오게 됨
- call signatures 및 interface 등이 정의되어 있음
3. JSDoc
- @ts-check
- TypeScript가 JavaScript를 체크
- JSDoc
- 코멘트로 이루어진 문법
- 함수 위에 코멘트를 적으면, TypeScript가 이 코멘트를 읽을 수 있음
- 큰 규모의 JavaScript 프로젝트를 TypeScript로 한번에 바꾸기는 어려움
- JSDoc을 활용하여 점진적으로 JS -> TS
// @ts-check
/**
* 고양이가 우는 소리를 return
* @param {string} who
* @returns {string}
*/
export function cry(who) {
if (who === 'cat'){
return '야옹';
}
if (who === 'dog'){
return '멍멍';
}
}
Reference
'programming study > TypeScript' 카테고리의 다른 글
타입 단언과 타입 가드 - 타입 단언은 지양하자 (0) | 2022.11.27 |
---|---|
TypeScript(7) (0) | 2022.09.02 |
TypeScript(6) (0) | 2022.08.31 |
TypeScript(5) (0) | 2022.08.30 |
TypeScript(4) (0) | 2022.08.28 |