반응형
TypeScript란 무엇인가?
마이크로소프트에서 구현한 JavaScript의 Superset(상위확장) 프로그래밍 언어.
확장자로는 .ts를 사용하며, 컴파일의 결과물로 JavaScript 코드를 출력.
런타임에서는 이렇게 출력된 JavaScript 코드를 구동. [나무위키]
쉽게 표현하자면, JavaScript + Type = TypeScript 이다.
JavaScript의 Superset(상위확장)으로 JavaScript의 기능을 유지하며 Type을 설정할 수 있도록 해준다.
JavaScript와 TypeScript 차이는?
동적 타입 언어(Dynamic type language)인 JavaScript는 런타임 속도는 빠르지만,
Type의 안정성이 보장되지 않음.
정적 타입 언어(Static type language)인 TypeScript는 컴파일 시 시간이 조금 걸리지만,
Type의 안정성을 보장한다.
Type의 안정성이 보장된다면??
- 높은 수준의 추상화가 필요할 때 버팀목이 되어준다.
- 자연스럽게 프로그램에 구조가 생기고, 문서화하는 효과가 생긴다.
- 프로그램에 존재하는 타입 에러를 런타임 전에 검출하여 디버깅할 수 있다.
요약
타입을 사용 → 프로그램에 논리 구조를 추가한다.
정적 타입 시스템을 사용 → 논리 구조에 따라 잘못된 표현식을 포함한 프로그램을 런타임 이전에 찾아 낸다.
타입 안정성이 증명 → 런타임에서 타입 에러가 '절대' 발생하지 않는다.
TypeScript create-react-app 생성
npx create-react-app [appName] --template typescript
CRA를 통해 React를 생성하는 방식에서 --template typescript를 추가.
appName 부분에 원하는 프로젝트 명(폴더 명)을 작성.
참고자료
https://namu.wiki/w/TypeScript
https://poiemaweb.com/typescript-introduction
반응형