본문 바로가기
2020-2021/TIL

Block Chain [typescript] #2

by Tate_Modern 2021. 2. 23.

 

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 폴더 만들기

 

폴더의 용도는 4번에서 설명 : )

 

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

댓글