TypeScript
- TypeScript는 JavaScript의 superset 일 뿐이다.
- 별도의 compiling이 필요하다.
TypeScript 를 사용 하는 이유.
- JavaScript는 dynamically typed language 인데, 이는 변수 등의 types 가 run-time values 와 연계 되어 있고, 선언시에 따로 지정해 주지 않는데 반해 Java, C++ 와 같은 Statically typed languages는 변수, 함수 파라미터, 리턴 값 등에 명시적으로 타입을 지정 해준다.
- bugs spotting에 더 좋다.
- 코드의 가독성이 좋다.
사용 시 주의 사항
- browser가 .ts 파일을 읽지 않으므로 추가적인 compilation을 필요로 한다.
- TSC (TypeScript Compiler)를 사용하여 .ts 파일을 .js 파일로 컴파일 한다.
- 파일들을 추적 하며 컴파일 시 에러 보고를 받을 수 있다.
- tsconfig.json 파일을 이용하여 해당 TypeScript 가 어떻게 작동하는지 configure할 수 있다.
Starting Point
- index.ts 파일을 생성하여 tsc index 를 하면 타입스크립트 컴파일러가 컴파일을 통해 index.js 파일을 생성 해 준다.
- tsc --watch index 를 하면, index.ts 파일에 변경사항이 생길 때 마다 자동으로 변경사항이 적용된다.
- tsc 만 입력하면 해당 폴더내의 모든 .ts, .tsx 파일을 컴파일 해준다.
- tsc --inint을 통해 tsconfig.json 파일을 생성하여 configuration을 할 수 있다.

- tsconfig.json파일 안에는 여러 세부 사항들이 있는데, "target": "es2016" 을 "es6" 로 바꿔줌으로써 JavaScript es6 버전으로 컴파일 되도록 변경 해 줄 수 있다.
- 이를 통해 var id = 3; 이었던 코드가 let id = 3; 으로 바뀐것을 확인 할 수 있다.
- tsconfig.json 파일 내에 //로 커멘트가 된 부분 중,
"rootDir" 과 "outDir" 이 있는것을 볼 수 있는데, 이는 보통 프로젝트를 진행 할때 .ts 파일과 .js 파일이 같이 섞여있지 않고, 다른 폴더에 나누어져 있기 때문에 이를 구분해서 컴파일 하는데 쓸 수 있다.
"rootDir": "./src",
"outDir" : "./dist"
- 위와 같이 지정 해 주고, index.ts 파일을 src 폴더에 저장한 뒤에, tsc 로 컴파일을 해주면 dist 폴더에 index.js 파일이 생성되게 된다.