프로필사진
Angular에서 JavaScript대신 TypeScript사용하는 이유?

2020. 1. 16. 13:48🔴 FE/TypeScript

300x250

참고 도서


결론부터 얘기하자면
"생산성" 때문!

1. JavaScript는 컴파일 과정이 없기 때문에 에러가 런타임에서만 발생한다

문자열을 인자로 받는 함수에 개발자가 실수로 숫자를 넣었다면?
컴파일 과정에서는 에러 없이 돌아가서 문제를 미리 발견하고 고치지 못하게 된다.
런타임에서 에러가 발생하면 어플리케이션이 종료되어 서비스가 멈출 수도 있는 상황인 것이다.
JavaScript에서 동적으로 타입을 결정하기 때문에 발생하는 문제!

생산성을 높이기 위해서는:
처음부터 정적 타입을 지원하는 언어로 개발하고 -> JavaScript로 변환해서 배포
컴파일해서 JavaScript으로 만들어 낼 수 있는 언어 : 대표적으로 TypeScript, Dart, CoffeeScript

Angular 프레임워크 자체도 TypeScript으로 작성되었기 때문에 자연스럽게 TypeScript으로 개발할 수 있다.

TypeScript는 타입을 지원하기 때문에 에러가 발생할 수 있는 코드는 컴파일 단계에서 미리 검출할 수 있다.

2. IDE에서 지원할 수 있는 기능이 JavaScript를 사용할 때보다 많아진다.

TypeScript는 인자의 개수가 잘못되거나 잘못된 타입의 인자를 전달해도 에러를 표시한다.
또한 IDE에서 타입 정의 파일을 분석해서 어떤 API를 사용할 수 있는지 그때그때 알려준다.

Angular 프레임워크도 타입 정의 파일을 제공한다. 

3. TypeScript는 ECMAScript6 표준과 7 표준을 따르고 여기에 타입, 인터페이스, 데코레이터, 클래스 멤버 변수, 제네릭, public과 private과 같은 키워드를 추가로 제공한다

4. 컴파일해서 만든 JavaScript코드를 읽기 쉽다.

5. 가이드 문서에서 제공하는 예제 코드, 블로그에 있는 코드는 모두 TypeScript로 먼저 제공된다. Dart나 JavaScript로 제공되는 가이드 문서는 상대적으로 느리다.

300x250

'🔴 FE > TypeScript' 카테고리의 다른 글

TypeScript & Angular 개발단계  (0) 2020.01.17
TypeScript 문법 정리  (3) 2020.01.16