TypeScript란?

Leesi0's 코딩기록·2024년 8월 6일

CS(Computer Science)

목록 보기
4/5

TypeScript는 JavaScript의 슈퍼 셋, 즉 상위 확장자로 JavaScript 엔진을 사용하며 자신이 원하는 변수의 타입을 정의하고 프로그래밍을 하면 JavaScript로 컴파일되어 실행할 수 있습니다.

TypeScript를 사용하는 이유

1. 손쉽게 버그를 예방할 수 있는 강력한 타입 시스템 - 버그 방지

TypeScript는 컴파일 과정에서 타입을 지정하기 때문에 컴파일 에러를 예방할 수 있을뿐 아니라, 손쉬운 디버깅이 가능해집니다. 실제 연구에 따르면 모든 JavaScript 버그의 15%가 사전에 TypeScript로 감지할 수 있다고 합니다.

2. 같은 일을 두 번 하지 않는다, 높은 생산성의 타입 스크립트 - 높은 생산성

Javascript로 코드를 작성할 때, 객체의 필드나 함수의 매개변수로 들어오는 값이 무엇인지 알기 위해 여러 파일을 살펴야 했지만 TypeScript를 사용한다면 변수의 이름뿐만 아니라 그 데이터의 자료형까지 알 수 있게 됩니다.

객체 안의 필드값을 다 기억할 필요 없이 IDE가 자동으로 리스트 업을 해주기 때문에 생산성에도 큰 기여를 합니다.

3. JavaScript의 슈퍼셋, 모든 JavaScript 프로젝트를 커버하다 - 호환성

TypeScript를 적용하는 경우 기존의 JavaScript로 짜인 코드에 확장하는 식으로 대규모 수정 없이도 TypeScript 적용이 가능합니다.

TypeScript와 JavaScript 차이

1. 동적 타입 언어 VS 정적 타입 언어

동적 타입 지정이란, 변수의 타입이 런타임, 즉 실행 시간에 결정되는 것으로 JavaScript는 대표적인 동적 타입 언어

TypeScript는 정적 타입 언어로 변수의 타입을 명시적으로 지정해서 사용합니다.

컴파일 단계에서 타입 체크를 하기 때문에 코드 작성 중 타입 오류를 방지하는 타입 체킹 기능인 ‘타입 어노테이션’을 활용하여 에러를 빠르게 발견할 수 있게 도와주기 때문에 코드를 수정하고 나서 버그가 생기는 것을 방지

2. 컴파일 언어 VS 인터프리터 언어

Javascript는 인터프리터 언어인데, 인터프리터 언어란 소스코드를 한 줄 한 줄 읽어가며 명령을 바로 처리하는 언어로 코드가 즉시 실행되기 때문에 컴파일 언어에 비해 빠르다는 장점
TypeScript는 ‘컴파일 언어’입니다. 컴파일 언어란 소스코드 전체를 컴퓨터가 이해할 수 있는 기계어로 변환하는 언어로 변환과 실행이 따로 이루어집니다. 소스코드를 기계어로 번역하는 과정에서 인터프리터 언어에 비해 시간이 오래 걸리지만 런타임 상황에서는 모든 소스코드가 변환되어 있기에 빠르게 실행할 수 있습니다.

3. 학습 난이도

TypeScript는 타입의 제한을 받아 자료형을 비롯한 여러 TypeScript의 기능을 익혀야 하기에 JavaScript보다 배우기 어렵습니다.

TypeScript의 단점

1. 초기 세팅의 어려움

보완점 : ‘Create React App’, ‘Vue CLI’, ‘Angualr CLI’
=> 이 도구들은 TypeScript를 기본적으로 지원하고, 프로젝트 구조와 컴파일 옵션을 자동으로 설정해 주어 보다 편리하게 사용할 수 있습니다.

2. 타입 지정으로 인한 생산성 저하 우려

매번 타입을 지정해줘야 하는 번거로움과 타입 어노테이션으로 인한 타입 에러로 실제 개발보다 타입을 지정하는 데 시간을 더 할애할 수 있기 때문인데요.
보완점 : React나 컴포넌트 기반 개발을 지원하는 라이브러리 또는 프레임워크를 함께 활용

참조
https://www.elancer.co.kr/blog/view?seq=183

profile
Powerful plays goes on, You may contribute a verse

0개의 댓글