타입스크립트란?
TypeScript는 Microsoft사에서 개발한 자바스크립트 기반 언어이다. 과거에는 JavaScript의 Superset(상위 개념)으로 여겨졌으나 최근에는 타입 구문이 있는 JavaScript로 정착하고 있다. 실제로 Microsoft는 ECMA에 자바스크립트에 타입스크립트의 병합을 정식으로 건의하였다.
Why TypeScript?
- JavaScript는 너무 많은 것을 허용해준다(무분별한 undefined, 너무 관대한 타입 추론 등) -> 안전성 보장이 어려움
- JavaScript에 추가 구문이 붙는 것이기 때문에 JavaScript를 이해하고 있다면 배우기가 쉽다.
- MS에서 개발한 Visual Studio Code와 완벽하게 통합되기 때문에 오류 통제가 용이하다.
- 컴파일러를 통해 바닐라 자바스크립트로 변환되기 때문에 자바스크립트를 지원하는 모든 곳에서 실행이 가능하다.(Web, Node.js, Deno 등)
- 타입 추론을 제공하여 편리하고 안전하게 프로그래밍 가능하다.
- 추가적인 설치 없이도 훌륭한 유틸리티를 제공한다.
위의 이유 외에도 여러 장점이 있기 때문에 TypeScript의 인기는 Vanila JavaScript를 넘어서고 있다.

TypeScript의 효과
데이터 기술서
- 객체와 함수의 생김새를 정의
- 데이터를 코드로 설명할 수 있는 데이터 기술서 역할을 할 수 있다.
- 편집기(VS Code 등)에서 문서 에러 및 버그를 검출할 수 있다!
TypeScript 작동 과정
JavaScript 파일

JavaScript 런타임 시점 오류 검출


TypeScript (타입 구문 추가)

TypeScript 공부 방법
- any 지양하기❌
- Generic
- unknown
- Type Guard
- Type Assertion
- ban-ts-comment(ES Lint 설정)
- 지향하기✅
- strictNullChecks (설정값)
- 문서화(JSDoc 등)
- 선 타이핑 후 구현 (타입을 설정한 후 구현한다)
- 집단지성 (구글링, 공유)
- 컨벤션 & 팀 문화 지향하기
'Dev > JS Family, HTML, CSS' 카테고리의 다른 글
| [TypeScript] 타입스크립트 입문 (4) - 제네릭, 고급 타입 다루기 (5) | 2022.09.14 |
|---|---|
| [TypeScript] 타입스크립트 입문(3) - 인터페이스, 타입 가드, 열거형, 유니온 타입 (0) | 2022.09.12 |
| [TypeScript] 타입스크립트 입문 (2) - 기본 타입, 클래스 (0) | 2022.09.09 |
| [React] 일주일만에 리액트 정복하기! (2) (0) | 2022.08.03 |
| [React] 일주일만에 리액트 정복하기! (1) (1) | 2022.08.02 |