[TypeScript] 타입스크립트란?

JINJIN·2023년 3월 6일
1

TypeScript

목록 보기
1/6
post-thumbnail

TypeScript에 대해서 하나씩 차근차근 배우면서 작성하는 글입니다.

📌 TypeScript 소개

TypeScript란?

TypeScript는 Microsoft에서 개발한 오픈소스 프로그래밍 언어입니다.
JavaScript의 상위 집합 언어로, 정적 타입을 지원합니다. TypeScriptJavaScript와 달리 컴파일러를 통해 JavaScript 코드로 변환되어 실행됩니다.
이를 통해 개발자는 TypeScript로 작성한 코드를 JavaScript로 컴파일하여 실행할 수 있습니다.

TypeScript의 특징

TypeScript의 특징은 다음과 같습니다.

  • 정적 타입 지원: 변수, 함수, 클래스 등에 대해 타입을 명시하여 오류를 미리 예방할 수 있습니다.
  • 객체지향 프로그래밍 지원: 클래스, 상속, 인터페이스, 제네릭 등의 객체지향 프로그래밍 요소를 지원합니다.
  • ES6(ECMAScript 2015)와 호환: JavaScript의 최신 기능을 지원하며, ES6와 호환됩니다.
  • 컴파일러: TypeScript 코드를 JavaScript 코드로 변환하는 컴파일러를 제공합니다.
  • 도구 지원: Visual Studio Code, WebStorm 등 다양한 IDE에서 TypeScript를 지원하며, 코드 힌트, 디버깅 등의 기능을 제공합니다.

간단히 말하면, TypeScript정적 타입과 객체지향 프로그래밍을 지원하는 JavaScript의 상위 집합 언어 (Superset)입니다.


📌 TypeScript 사용 이유

그렇다면 TypeScript를 사용해야 하는 이유는 무엇일까요?
TypeScript를 사용해야 하는 이유는 여러 가지가 있습니다. 이번에는 TypeScript를 사용하는 이유에 대해 자세히 알아보겠습니다.

1. 타입 검사

  • TypeScript는 정적 타입 검사를 지원합니다. 변수, 함수, 클래스 등에 대해 타입을 명시하여 컴파일러가 오류를 검출할 수 있습니다. 이를 통해 개발자는 런타임에서 발생할 수 있는 오류를 미리 예방할 수 있습니다. 타입 검사를 통해 안정적이고 가독성이 높은 코드를 작성할 수 있습니다.

2. 코드 가이드

  • TypeScript는 인터페이스와 클래스 등의 객체지향 프로그래밍 요소를 지원합니다. 이를 통해 코드를 구조화하고 가이드라인을 줄 수 있습니다. 코드 가이드를 준수하면 코드의 가독성이 높아지고 유지보수성도 향상됩니다.

3. 대규모 프로젝트

  • TypeScript는 대규모 프로젝트에서 사용하기 적합합니다. 타입 검사와 코드 가이드를 통해 개발 생산성을 높일 수 있습니다. TypeScript는 모듈화와 네임스페이스 등의 기능을 지원하여 코드의 구성을 단순화하고 모듈 간의 의존성을 관리할 수 있습니다.

4. JavaScript와의 호환성

  • TypeScript는 JavaScript와 호환됩니다. TypeScript는 JavaScript의 상위 집합 언어로, JavaScript로 작성된 코드를 TypeScript로 변환할 수 있습니다. 또한, TypeScript는 JavaScript의 최신 기능을 지원하므로 기존 JavaScript 코드와 쉽게 통합할 수 있습니다.

5. 생태계와 도구

  • TypeScript는 Visual Studio Code, WebStorm 등 다양한 IDE에서 지원됩니다. 코드 힌트, 디버깅 등의 기능을 제공하여 개발 생산성을 높일 수 있습니다. 또한, npm 등의 패키지 매니저를 통해 TypeScript와 관련된 라이브러리와 프레임워크를 쉽게 사용할 수 있습니다.

TypeScript를 사용하면 코드 안정성이 높아지며, 가독성과 유지보수성이 좋아집니다. 또한 대규모 프로젝트에서 개발 생산성을 높일 수 있습니다.


📌 TypeScript 그리고 JavaScript

TypeScript는 JavaScript의 상위 집합 언어(Superset)이므로 문법적으로 JavaScript와 매우 유사합니다. 하지만 몇 가지 차이점도 존재합니다.

1. 정적 타입

  • JavaScript는 동적 타입 언어이며, 변수나 함수의 타입을 명시적으로 선언하지 않습니다. 반면에 TypeScript는 정적 타입 언어로, 변수나 함수의 타입을 명시적으로 선언해야 합니다. 이를 통해 컴파일 시점에서 타입 검사를 수행하므로 런타임 오류를 줄일 수 있습니다.

2. 인터페이스

  • JavaScript는 인터페이스를 지원하지 않습니다. 반면에 TypeScript는 인터페이스를 지원하여 타입을 추론하고 검사하는데 유용하게 사용됩니다.

3. 클래스

  • JavaScript는 프로토타입 기반의 객체지향 언어입니다. 클래스와 상속을 지원하지만, 다소 번거로울 수 있습니다. TypeScript는 클래스와 인터페이스를 지원하여 객체지향 프로그래밍을 보다 쉽게 할 수 있습니다.

4. 모듈 시스템

  • JavaScript는 원래는 모듈 시스템을 지원하지 않았으나, ES6(ECMAScript 2015)부터 모듈 시스템을 지원하기 시작했습니다. TypeScript는 이를 보완하여 모듈 시스템을 지원하며, 네임스페이스 등 다양한 모듈 패턴을 제공합니다.

5. 컴파일러

  • JavaScript는 스크립트 언어로서 브라우저에서 바로 실행할 수 있습니다. TypeScript는 타입 체크를 위해 컴파일러를 필요로 합니다. TypeScript 코드를 JavaScript로 컴파일하여 실행합니다.

6. 다른 언어와의 연동성

  • TypeScript는 다른 언어와의 연동성이 높습니다. 예를 들어, Angular 프레임워크에서는 TypeScript를 사용하며, Node.js에서도 TypeScript를 지원합니다. 이를 통해 프로젝트의 유연성과 확장성을 높일 수 있습니다.

따라서 TypeScript는 JavaScript와 매우 비슷하지만, 추가적인 기능과 타입 검사 등의 기능을 제공하여 보다 안정적인 코드를 작성할 수 있도록 도와줍니다.

profile
안녕하세요! 배우는 것을 좋아하는 개발자 JINJIN입니다.

0개의 댓글