TypeScript - 2주차
컴파일러와 tsc
컴파일러란?
: 프로그래밍 언어로 작성된 소스코드를 다른 프로그래밍 언어로 변환하는 도구이다.
컴파일러의 역할
1) 타입 검사
- TypeScript 컴파일러는 소스 코드의 정적 타입 검사를 수행한다 => 미리 오류 발견 가능
* 정적 타입(Static typed) 이란?
- 컴파일 시 변수의 타입이 결정되는 언어를 말한다. 프로그래머가 변수에 들어갈 값의 형태에 따라 직접 변수의 타입을 명시해줘야한다. 매번 코드 작성 시 변수형을 결정해줘야 하는 번거로움이 있지만 안정적이고 빠르다는 장점을 가지고 있다.
정적타입의 언어로는 JAVA, C, C++, C# 등이 있다.
vs
* 동적 타입(Dynamically typed)이란?
- 컴파일 시 자료형을 정하는 것이 아닌, 런타임 시 결정되는 언어이다. 런타임까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 유연성이 높다는 장장을 가지지만, 실행 도중 변수에 예상치 못한 타입이 들어와 타입에러가 발행할 수 있다는 문제를 가지고 있다. 동적타입 언어로는 Python, JavaScript,PHP 등이 있다.
2) 코드변환
- 타입스크립트 컴파일러인 tsc는 TypeScript → JavaScript 코드 변환해준다
- C언어 컴파일러는 C언어 → 기계어 코드 변환을 해주고요!
- 컴파일러를 이해하면 변환된 코드가 어떻게 실행되는지 예측할 수 있다
3) 에러 메세지를 출력해줘서 문제를 신속하게 해결할 수 있다
tsc 명령어
- tsc —-init
- tsconfig.json이 생성되는 명령어입니다!
- tsconfig.json에 대해서는 다음 강의 때 자세히 말씀드릴게요!
- tsc index.ts
- index.ts를 컴파일 합니다!
- .ts는 TypeScript 파일의 확장자에요!
- tsc src/*.ts
- src 디렉토리 안에 있는 모든 TypeScript 파일을 컴파일 합니다!
- tsc index.js --declaration --emitDeclarationOnly
- @types 패키지를 위한**.d.ts 파일 생성**을 하는 명령입니다!
- TypeScript로 작성된 모듈이 아니라 JavaScript로 작성된 모듈에 타입 선언을 제공할 때 유용하게 쓰여요!
tsconfig.json 이란?
- tsc --init 명령을 실행하면 생성되는 파일입니다!
- tsconfig.json은 TypeScript 프로젝트의 설정 파일이라고 생각하시면 되어요!
- 주로 프로젝트의 컴파일 옵션 및 입력 파일들을 정의하는데 사용되어요!
compilerOptions - strict옵션은 true로 설정해주시는 것을 권장
compilerOptions - sourceMap옵션은 개발 환경에서 true로 설정해주시는 것을 권장