늘 겸손하게

Frontend - 타입스크립트를 사용하는 이유 본문

Programming/Frontend

Frontend - 타입스크립트를 사용하는 이유

besforyou999 2022. 8. 8. 22:33

1. 정적 타입

 

Typescript는 JavaScript와 다르게 정적 타입을 지원합니다.

 

여기서 정적 타입(static type)이란 자료형(char, int, boolean, string 등등)을 컴파일 시에 결정하는 것입니다.

C, C#, Java 등이 대표적인 정적 언어(static language)입니다.

정적 타입의 변수는 해당 데이터의 타입이 무엇인지 명시해야합니다.

 

// C 언어
int num = 1; 
float num2 = 1.03;
bool num3 = 10; // 에러!

 

정적 타입 언어는 컴파일 시에 알맞지 않은 데이터를 걸러내어 오류를 미리 걸러낼 수 있는 장점이있습니다.

 

 

정적 타입의 반대로는 동적 타입(Dynamic Type)이 있습니다.

동적 언어(Dynamic Lanugage)는 자료형을 컴파일 시에 결정하지 않고 실행중(런타임)에 결정합니다.

그래서 자료형 명시 없이 변수 선언이 가능합니다. 대표적인 언어로는 JavaScript, Python, Ruby가 있습니다.

 

num1 = 100;
name = "Hello";
height = 10000;

 

자료형을 실행중에 결정하기 때문에 유연한 코딩이 가능하지만 프로그램 규모가 커지면 커질수록 데이터값이 예측불가능해지고 타입 에러를 찾기가 어려워집니다.

 

위와 같은 단점을 가지고 있는 동적 언어인 JavaScript를 보완하기 위해 TypeScript를 사용할 수 있습니다.

 

 

2. 객체 지향 프로그래밍 지원

 

타입스크립트는 ECMAScript 6에서 지원되는 클래스, 인터페이스, 상속, 모듈등과 같은 객체 프로그래밍을 지원합니다.

 

 

3. 자바스크립트 호환성

 

타입스크립트는 자바스크립트와 100% 호환되며 자바스크립트를 사용할 수 있으면 어디든지 사용 가능합니다.

타입스크립트 컴파일러는 타입스크립트 언어를 바이트 코드로 변환하는 컴파일을 하지않고 자바스크립트 코드로 변환합니다.

 

그래서 타입스크립트 컴파일러를 트랜스파일러(Transpiler)라고 부릅니다.

 

트랜스파일러란 최신 버전의 코드를 이전 버전의 코드로 변환하는 트랜스파일을 해주는 도구를 말합니다.