본 게시글은 정확한 정보를 담고있지 않을 수 있으므로 다른 자료도 참고하시길 바랍니다.
만약, 본 게시글이 잘못된 정보를 가지고 있다면 피드백 부탁드립니다. 감사합니다.
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.