sparta TIL

TypeScript TIL 1

hr7 2024. 6. 25. 01:11

TypeScript는 아래와 같은 문제들을 해결함으로써 JavaScript의 단점을 보완, 더 강력하고 유지보수하기 쉬운 언어이다.

  • JavaScript 문제점: JavaScript는 동적 타이핑 언어로 변수의 타입을 명시하지 않아도 되지만, 타입 불일치로 인한 런타임 오류가 발생할 수 있다. ( 실행 시간에 결정되는 변수 타입 )
  • TypeScript 보완: TypeScript는 정적 타입 검사를 도입하여 컴파일 시 타입 오류를 발견할 수 있도록 한다. 이는 코드의 안정성을 높이고, 디버깅 시간을 줄여줌 (=유지보수성 향상, 코드 리팩토링 용이성)

한 입 크기로 잘라먹는 타입스크립트(TypeScript)


컴파일러(Compiler)란 ?

프로그래밍 언어의 소스 코드를 다른 프로그래밍 언어(주로 기계어 또는 바이트코드)로 변환하는 프로그램이다.

이 과정은 소스 코드를 컴파일하는 과정이라고도 한다.

TypeScript 컴파일러(tsc)란 ?

tsc는 TypeScript 컴파일러(Transpiler). TypeScript는 JavaScript의 상위 집합으로, 정적 타입 검사와 최신 ECMAScript 기능을 지원한다. tsc는 TypeScript 코드를 JavaScript 코드로 변환해주는 역할을 한다.

 

 

 ✅ 기계어로 변환되어야 한다고 했는데 JavaScript는 기계어로 변환될 필요가 없나 ??

  • ㅇㅇ기계어로 변환될 필요가 없음~ JavaScript는 동적 언어(=인터프리터 언어)이기 때문 
    • 정적 언어(=컴파일 언어) → 기계어로 변환이 되어야 한다.
    • 동적 언어(=인터프리터 언어) → 엔진이 코드를 한 줄씩 실행하면서 동적으로 해석한다.
주요 명령어

tsc —-init : tsconfig.json이 생성되는 명령어
tsc index.ts : index.ts를 컴파일 gksek. ( .ts는 TypeScript 파일의 확장자 )
tsc src/*.ts src : 디렉토리 안에 있는 모든 TypeScript 파일을 컴파일
tsc index.js --declaration --emitDeclarationOnly : @types 패키지를 위한 .d.ts 파일 생성 하는 명령
TypeScript로 작성된 모듈이 아니라 JavaScript로 작성된 모듈에 타입 선언을 제공할 때 유용하게 쓰임