TIL39. TypeScript

김정현·2020년 12월 6일
1
post-thumbnail

TypeScript

Microsoft에 의해 개발/관리되고 있는 오픈소스 프로그래밍 언어이다.

대규모 어플리케이션을 개발하는 데 JavaScript가 어렵고 불편하다는 불만에 대응하기 위해 개발이 되었다.

TypeScript는 스크립트 언어의 표준인 ECMA Script (줄여서 ES) 의 표준을 따르기 때문에 JavaScript영역을 침범하지 않고 최신 ES를 지원한다.

TypeScript의 특징

  • 가장 큰 특징은 Type을 지정하는 것으로 TypeScript = JavaScript + Type 으로 볼 수 있다.

JS에 없는 타입이 지원되면서 장점이 생긴다.

  1. Type이 추가되어 안정성 확보
  2. Type에 대한 예외 처리를 하지 않아도 된다. (오버헤드 감소)
  3. JavaScript 엔진의 최적화를 돕는다.
  • 컴파일 언어, 정적 타입의 언어이다.

사용하는 이유?

타입스크립트를 사용하는 가장 큰 이유는 에러를 방지할 수 있다는 점이다.
자바스크립트는 동적타이핑 언어로 프로그램이 실행되었을 때 변수에 대한 타입을 알 수 있기 때문에 코드가 의도하지 않은대로 동작할 수 있다.
간단한 예를 살펴보면 두 숫자의 합을 구하는 함수는 다음과 같이 작성할 수 있다.

function sum (a, b) {
  return a + b;
}

하지만 sum 함수에 숫자 10과 20이 아닌 문자열 '10'과 '20'을 넘겨주면 30이 아닌 '1020'이라는 값이 나오게 된다.

sum('10', '20'); // 1020

이처럼 동적타이핑 언어에서는 프로그램이 실행되기 전까지 변수의 타입을 알 수 없기 때문에 의도하지 않은 결과가 나오게 된다.

sum함수를 타입스크립트로 작성하면 다음과 같이 작성할 수 있다.

function sum(a: number, b: number) {
  return a + b;
}

이처럼 변수 a와 b에 number라는 타입을 지정해줌으로써 의도하지 않은 동작을 예방할 수 있다.

sum('10', '20'); // error: Argument of type 'string' is not assignable to parameter of type 'number'.

0개의 댓글