[TypeScript] 개념과 원리

2024. 4. 2. 15:52기본기가 부족하다면/TypeScript

 

1) 개념

TypeScript(이하 TS)는 C#의 창시자인 엔지니어가 개발을 주도하여 2012년 Micrsoft에서 발표한 오픈소스이다.
자바스크립트 대체 언어의 하나로써 자바스크립트(ES5)의 SuperSet으로 자바스크립트 문법을 그대로 사용할 수 있다.
자바스크립트에 존재하지 않는 정적 타입을 지원한다.

 

 

그렇다면, 코드를 TS로 작성할 경우, 브라우저 혹은 엔진에서 TS 파일 자체를 읽는 것일까?

그 안에서는 어떤 동작이 이루어지고 있을까, 원리를 알아보자.


 

2) 원리

1. TS 컴파일러(TSC) 에서 하는 일 (컴파일)

TS 코드 -> AST 코드 -> 타입 체크 -> JS 코드

 

2. JS 엔진에서 하는 일 (런타임)

JS 코드 -> AST 코드 -> 바이트 코드

 

 

자바스크립트만 사용할 때는 1번이 생략된다. 자바스크립트 인터프리터 언어이기 때문에 컴파일 과정이 필요하지 않기 때문이다.

과정이 늘어나는 비용이 발생함에도 불구하고 왜 TS를 도입하는것인가?

바로 "오류 단계" 때문이다.

 

예정되어 있는 오류가 컴파일에서 발생한다면 런타임에서 발생하는 것보다 예방적이고, 효율적이다.

TS를 도입함으로써 사전 오류 검증의 단계가 추가되기 때문에, 작은 비용을 감수하고라도 더 큰 비용 지출을 방지한다.

 

 

반응형