개발자 9Diin의 개발일기

TypeScript란 무엇인가? 자바스크립트와의 차이점 본문

2021-2023

TypeScript란 무엇인가? 자바스크립트와의 차이점

9Diin 2023. 3. 9. 10:18
반응형
본 포스팅은 '러닝 타입스크립트' 도서를 전적으로 참고하여 작성하였습니다.

 

1️⃣ TypeScript란 무엇인가?

TypeScript는 마이크로소프트 회사에서 구현한 JavaScript 슈퍼셋(Superset) 프로그래밍 언어이다. 확장자로는. ts를 사용하며 컴파일의 결과물로 JavaScript 코드를 출력한다. 최종적으로 런타임에서는 이렇게 출력된 JavaScript 코드를 구동시키게 된다.

 

위 설명은 어디까지나 정의에 가깝고 쉽게 풀어 설명해 보자면 타입이라는 것이 지정되어있지 않은 자바스크립트에 타입(Type)이라는 것을 설정하여 정적 타입을 명시할 수 있도록 한 것이 순수 자바스크립트와의 가장 큰 차이점이라고 할 수 있다. 보통 자바스크립트를 Dynamic Language라고 부르는데 자유도가 높기 때문이다. 반면, 타입스크립트는 자바스크립트의 자유도를 일정 부분 덜어냈지만, 그만큼 안정성을 높였다는 큰 장점을 가지고 있다.

 

2️⃣ TypeScript 설치 방법

타입스크립트를 사용하려면 npm이 필요하고, npm은 Node.js를 설치하면 자동으로 설치된다. npm을 설치하고 명령 프롬포트에서 아래 코드를 작성하면 타입스크립트의 설치가 완료된다.

npm install -g typescript

 

3️⃣ TypeScript 특징

타입스크립트는 종종 '자바스크립트의 상위 집합' 혹은 '타입이 있는 자바스크립트'라고 불리긴 한다. 나 역시 타입스크립트로 순수 개발을 진행해 본 적이 없기 때문에 이렇다 정의할 게 없지만, 타입이 있는 자바스크립트라고 이해하는 게 정신건강에 아주 이롭다.

 

또한, 마이크로소프트 회사에서 개발한 언어이기 때문에 VSCode와 호환이 굉장히 좋다. (당연할 수밖에) 

타입스크립트는 자바스크립트의 모든 구문과, 타입을 정의하고 사용하기 위한 새로운 타입스크립트 고유 구문이 포함된 언어, 자바스크립트 및 타입스크립트로 작성된 일련의 파일에서 생성된 모든 구성요소(변수, 함수 등)를 이해하고, 잘못 구성된 부분을 알려주는 프로그램이다. 추가적으로 타입 검사기를 실행하고 문제를 보고한 후에 이에 대응되는 자바스크립트 코드를 생성하는 프로그램이며 타입검사기를 사용해 VSCode와 같은 에디터에서 개발자에게 유용한 유틸리티 제공법을 알려주는 프로그램이다.

 

4️⃣ JavaScript와의 차이점

자바스크립트를 사용하는 개발자들의 가장 큰 불만은 불행히도 핵심 기능에 있다. 여기서 말하는 핵심 기능은 앞전에서 설명했던 바로 '타입의 자유도'이다. 자바스크립트는 사실상 코드를 구성하는 방법에 제한이 있다. 이러한 자유 덕분에 프로젝트를 자바스크립트로 시작하면 매우 재미있다. (보통 자바개발자들이 자바스크립트를 처음 공부할 때 겪는 어려움도 이에 해당) 그러나 파일이 점점 늘어날수록 그 자유가 어마나 훼손될 수 있는지 명확해진다고 한다. (이 부분은 아직 경험해보지 않아 모르겠다.) 결국 코드의 자유는 자바스크립트를 재밌게 만들기도 했지만, 코드를 안전하게 실행하려고 할 때는 상당한 고통을 안겨준다. 단편적인 예로 백엔드로부터 API 통신을 할 때, 타입이 맞지 않아 오류가 나는 경우가 정말 너무나도 많다. 타입스크립트는 이러한 단편적인 에러도 막아줄 수 있는 장점이 있다.

반응형