본 게시글은 정확한 정보를 담고있지 않을 수 있으므로 다른 자료도 참고하시길 바랍니다.
만약, 본 게시글이 잘못된 정보를 가지고 있다면 피드백 부탁드립니다. 감사합니다.
TypeScript Tutorial for Beginners [2022]
https://www.youtube.com/watch?v=d56mG7DezGs
// javascript
let number = 5;
number = "a";
Math.round(number); // NaN
// typescript
let x: number = 5;
x = 'a'; // 컴파일 타임에 에러 발생
NaN이 출력되지만 타입스크립트에서는 프로그램 실행 전인 컴파일 타임에 에러를 발생시켜 프로그램 실행시 충돌나는 것을 방지한다.transpilation 이라고 한다.npm 을 이용한 설치
npm i -g typescript
설치 확인
tsc -v
타입스크립트 파일 생성
// index.ts
console.log("Hello world");
터미널에 tsc 명령어로 컴파일 실행
tsc index.ts

알 수 없는 수많은 에러들이 빵빵 터진다. 하지만, 컴파일이 실행되었다.
위 에러들은 tsc --init 커맨드를 실행하여 tsconfig.json 파일을 생성하면 말끔히 사라진다.
// index.js
console.log("Hello world");
tsconfig.json 파일 생성
tsc --init
위의 명령어를 실행할 경우 프로젝트 디렉토리에 tsconfig.json 파일이 생성된다.
config 파일 내부에 보면 다음과 같은 프로퍼티들이 존재하는데 값을 변경해준다.
rootDir: './src'
outDir: './dist'
noEmmitOnError: '...'

rootDir인 src 폴더에는 index.ts가 저장되어있고 컴파일 결과물은 outDir인 dist폴더에 저장된다.
다시 컴파일을 시도하는데 이번에는 tsc만 입력.
tsc
tsconfig.json 파일 내부에 rootDir, outDir가 설정되어 있으므로 자동으로 타입스크립트가 파일을 찾아 컴파일을 시도한다.
다시 확인해본 결과
rootDir를 설정하지 않아도 알아서 ts 프로젝트 디렉토리 내에 있는 모든 ts파일을 찾아서 컴파일한다. 그러나,rootDir를 설정하고tsc커맨드를 실행할 경우 모든ts파일들을 컴파일 하되, 다음과 같은 에러를 발생시킨다.
$ tsc
error TS6059: File 'C:/Users/1/Desktop/portfolios/typescript2/main.ts' is not under 'rootDir' 'C:/Users/1/Desktop/portfolios/typescript2/src'. 'rootDir' is expected to contain all source files.