TIL ⭐

TypeScript - 2주차

merrytang 2024. 8. 10. 09:35

컴파일러와 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를 컴파일 합니다!
    • .tsTypeScript 파일의 확장자에요!
  • 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로 설정해주시는 것을 권장