TypeScript: 컴파일-타임 타입 검사자가 있는 JavaScript의 런타임
1. TypeScript 타입 시스템
TypeScript은 JavaScript 위에 레이어로서 자리잡고 있는데,
JavaScript의 기능들을 제공하면서 그 위에 자체 레이어를 추가한다.
JavaScript는 이미 string, number, object, undefined 같은 원시 타입을 가지고 있지만,
전체 코드베이스에 일관되게 할당되었는지는 미리 확인해 주지 않는다.
TypeScript는 일관되게 변수의 타입을 지정할 수 있다.
자바스크립트의 유연하게 개발할 수 있는 환경은 런타임 환경에서 쉽게 에러가 발생할 수 있는 문제점이 있다.
타입스크립트는 이러한 자바스크립트에 강한 타입 시스템을 적용해 대부분의 에러를
컴파일 환경에서 코드를 입력하는 동안 체크할 수 있다.
2. TypeScript의 동작
브라우져는 타입스크립트의 언어를 인식하지 못한다.
그러므로 TypeScript의 로직을 Javascript로 컴파일링 한 후 브라우져가 인식하고 동작한다.
3. TypeScript 환경 세팅
1. 폴더 및 package.json 생성
$ mkdir ts-BlockChain # ts-practice 라는 디렉터리 생성
$ cd ts-BlockChain # 해당 디렉터리로 이동
$ npm init -y
2. npm에서 typescript 설치하기
npm i -g typescript --dev //글로벌에 설치
npm i --save --dev typescript //워크스페이스 설치
3. dist, src 폴더 만들기
3. tsc-watch 설치하기 [nodemon처럼 저장하면 변경된 로직의 결과값 출력]
"scripts": {
"start": "tsc-watch --onSuccess \" node dist/index.js\" "
}
4. tsconfig.json 파일 생성 후 Javascript 컴파일 환경 세팅
{
"compilerOptions": {
"module": "commonjs",
"target": "ES2015",
"sourceMap": true,
"outDir": "dist"
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
- target: 컴파일된 코드가 어떤 환경에서 실행될 지 정의
- module: 컴파일된 코드가 어던 모듈 시스템을 사용할지 정의
- include: src 파일 내에 있는 모든 로직 실행
- outDir: 컴파일된 파일들의 저장 경로 지정 (3번에서 생성한 Dist 안으로 들어간다.)
www.typescriptlang.org/docs/handbook/typescript-from-scratch.html
Documentation - TypeScript for the New Programmer
Learn TypeScript from scratch
www.typescriptlang.org
'2020-2021 > TIL' 카테고리의 다른 글
Block Chain [typescript] #4 (0) | 2021.02.26 |
---|---|
Block Chain [typescript] #3 (0) | 2021.02.25 |
Block Chain [typescript] #1 (0) | 2021.02.22 |
0203 (0) | 2021.02.03 |
0110 (2) | 2021.01.10 |
댓글