열정 실천

자바스크립트가 아니라 타입스크립트를 사용해야하는 이유 본문

개발 공부/React

자바스크립트가 아니라 타입스크립트를 사용해야하는 이유

구운오니 2024. 12. 25. 16:49
728x90

Typescript란?

마이크로소프트(Microsoft)에서 개발한 오픈 소스 프로그래밍 언어로, 자바스크립트(JavaScript)를 확장한 언어이다. 

TypescriptJavascript정적 타입 검사(static typing)가 추가된 것이다. 

 

우리가 사용하던 Javascript의 가장 큰 특징은 상황에 맞게 타입이 변하는 동적 타입(Dynamic Typing)언어라는 것이다. 

let과 var를 사용하여 타입을 명시하지 않고 선언된 변수는 상황에 맞게 타입이 바뀐다. 

 

이러한 유연함은

🙂 작은 프로젝트나 빠르게 변화하는 요구사항을 가진 프로젝트에서는 장점이 되겠지만, 

🤔 안정성과 유지보수성이 중요한 대규모 프로젝트에서는 단점이 된다. 

 

이를 해결하기 위한 새로운 언어인 Typescript는 선언 시 명시된 변수의 타입을 엄격히 검사해준다. 

추가로 typescript는 javascript보다 에러메세지의 퀄리티가 좋다. 

 

 

 

Javascript vs Typescript

Javascript Typescript
동적 타입 언어 정적 타입 언어
인터프리터 언어 컴파일 언어
독립적으로 사용가능 자바스크립트에 의존적 
(자바 스크립트로 컴파일된 후 실행)
유연성 일관성, 유지보수성
.js 확장자 .ts 확장자
작고 간단한 프로젝트에 적합 복잡한 프로젝트에 적합

 

★ 인터프리터 언어 : 코드를 한 줄씩 읽고, 바로 실행 ( 예: Python, JavaScript, PHP ) - 플랫폼 간 이식성 높음

컴파일 언어 : 전체 코드를 한 번에 기계어로 변환한 후, 변환된 프로그램을 실행 ( 예: C, C++, Typescript ) - 고도 최적화 가능 (성능)

 

 

 

자바스크립트가 아닌 타입스크립트를 사용해야하는 이유

 

1. 정적 타입 검사로 인한 코드 안전성 증가 

 

자바스크립트는 변수와 함수의 타입이 런타임에 결정되기 때문에 타입 불일치로 인한 런타임 오류가 발생할 수 있다.

타입스크립트는 정적 타입 언어로 컴파일 단계에서 타입 오류를 발견할 수 있기 때문에 오류를 사전에 방지해 디버깅 시간을 줄이고 안정성이 높아진다. 실제로 자바스크립트의 버그 중 15%를 타입스크립트의 사용으로 미리 예방할 수 있다고 한다. 

 

2. 실행 속도 향상

자바스크립트는 동적 타입의 인터프리터 언어이기 때문에 실행(런타임) 시에 매번 오류를 확인하고 실행해야하는 반면, 타입스크립트는 이미 컴파일되고 만들어진 실행파일을 실행하는 것으로 실행 속도가 훨씬 빠르다. 

 

 

3. 유지보수성 향상

 

자바스크립트는 변수와 함수의 타입이 명확하지 않아, 시간이 지나거나 다른 개발자가 코드를 읽을 때 혼란을 초래할 수 있습니다. 타입스크립트타입 정보와 인터페이스를 제공해 코드의 의도를 명확히 전달한다. 

 

4. 호환성

타입스크립트는 자바스크립트의 슈퍼 셋이다. 슈퍼 셋이랑 특정한 언어의 모든 기능을 포함하면서 다른 기능까지 활용 가능하도록 확장된 것을 말한다. 즉, 기존에 짜인 자바스크립트의 코드에 타입스크립트를 쉽게 적용할 수 있다. 

 

요즘 프론트엔드 채용공고에서는 TypeScript 사용 경험이 우대사항에 적용되고 있다. 😮 (솔직히 이렇게 된 지 꽤 됐다)

 

 

결론

하지만 타입스크립트가 좋기만 한 것은 아니다. 자바스크립트에 비해 초기 세팅이 까다롭고, 매번 타입을 따로 결정해주어야해 번거롭기도 하고 작성해야하는 코드의 양이 많아질 수 있다. 

 

하지만! 높은 생산성을 제공하는 타입스크립트를 쓰는 것이 좋겠다. 

우린 또 취업시장에 발 맞춰가야하는 애기 개발자이기 때문이지,,  오늘도 화이팅😋

 

 

메리크리스마스🎅🏻🎄

728x90