TypeScirpt의 탄생 배경
JavaScript는 동적 타입 언어로 개발자가 실수를 저지른 것을 프로그램을 실행할 때 알려준다.
JavaScript의 취약점은 크게 3가지가 있다.
const obj = { latitude: 11.5, longitude: 47.1 };
const result = obj.latitude * obj.longitute; // 보통은 이런 실수는 컴파일러가 잡아줘야 되는데
console.log(result) // NaN이라는 값이 나온다.
이 부분들을 보완한게 TypeScript이다.
TypeScript의 장점
생산성과 안전성이 높아지고 가독성이 올라 개발 및 유지 보수 과정에서 시간을 절약 할 수 있다.
정적 타입 시스템, 객체 지향 프로그래밍, 디자인 패턴 등 다양한 고급 프로그래밍 개념들을 학습할 수 있다.
JavaScript에 비해 언어에서 보장되는 안정성을 바탕으로 테스트 코드는 줄일 수 있다.(테스트 코드보다 비지니스 로직 작성에 집중 가능)
컴파일러 , tsc
tsc
는 TypeScript → JavaScript 코드 변환tsconfig.json
tsc --init
명령을 실행하면 생성되는 파일아래는 사용하는 주요 옵션들
compilerOptions - target
: TypeScript 프로젝트 內 코드들이 어떤 JavaScript 버전으로 변환을 할 지 정하는 옵션
compilerOptions - module
: TypeScript 파일을 컴파일한 후 생성되는 JavaScript 모듈의 형식을 지정
compilerOptions - outDir
: 컴파일된 JavaScript 파일이 저장될 출력 디렉터리를 지정
"outDir": "dist"
로 설정하면 컴파일된 파일들이 dist
폴더에 저장compilerOptions - strict
: 엄격한 타입 검사 옵션을 모두 활성화하는 옵션으로 TypeScript 컴파일러가 코드의 실수를 미리 찾음
strictNullChecks
strictFunctionTypes
strictBindCallApply
strictPropertyInitialization
noImplicitAny
any
타입을 부여하지 않도록 방지noImplicitThis
alwaysStrict
compilerOptions - strict
은 true 설정하는 것이 좋음.
compilerOptions - sourceMap
: - 컴파일된 JavaScript 파일에 대한 소스 맵을 생성하는 옵션
include
, exclude
: tsc가 컴파일을 할 때 포함하거나 제외할 파일이나 디렉터리를 지정하는 옵션
정리가 잘 된 글이네요. 도움이 됐습니다.