타입스크립트 (1) 타입스크립트란?

2022. 12. 20. 12:04·개발/Typescript

타입스크립트란?

타입스크립트는 마이크로소프트에서 관리하는 오픈 소스 프로그래밍 언어로 자바스크립트의 슈퍼셋(superset)입니다. 슈퍼셋은 상위 집합이라는 의미로 자바스크립트의 모든 기능을 지원하는 동시에 추가 기능을 제공한다는 의미입니다.

 

타입스크립트가 출시된 이유는 무엇이며 바닐라 자바스크립트에 비해 어떤 장점이 있을까요?

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

타입스크립트를 사용하는 가장 큰 이유 중 하나는 타입(type)을 사용하여 런타임 이전에 오류를 발견하기 위해서입니다. 아래 예시를 살펴볼까요?

 

아래와 같은 자바스크립트 코드의 의도는 숫자를 전달받는 것이겠지만 실제로는 어떤 타입의 인수를 받고 리턴해야 하는지 정확하게 정해져 있지 않습니다. 따라서 문자와 숫자를 더하는 이상한 연산도 오류가 없이 진행이 됩니다.

function sum(a, b) {
    return a + b;
}

sum('x', 'y'); //'xy'
sum(1, 'y'); //'1y'

반면, 타입스크립트를 사용하면 다음과 같이 정적 타입을 지정할 수 있으며, 특정한 타입만을 허용할 수 있습니다.

function sum(a: number, b: number) {
    return a + b;
}

sum('x', 'y'); //'error'

이처럼 타입스크립트는 타입 시스템을 통해 런타임 오류를 초래하는 코드를 사전에 알려줍니다. 모든 오류를 잡아내는 것은 아니지만 자바스크립트를 사용할 때에 비해 런타임 오류가 발생하는 확률이 크게 낮아지며, 이것이 바로 타입스크립트를 사용하는 가장 큰 이유 중 하나입니다.

타입스크립트 작동 방식

타입스크립트 파일(.ts)는 브라우저에서 작동하지 않습니다. 따라서 컴파일러를 사용하여 자바스크립트 파일로 변화시켜야합니다(컴파일 또는 트랜스파일링).

$ npm install -g typescript
$ tsc -v
$ tsc file.ts

위와 같이 tsc 컴파일러를 사용하여 타입스크립트 파일을 자바스크립트 파일로 컴파일할 수 있습니다.

 

타입스크립트의 작동 방식을 처음부터 정리해보면 다음과 같습니다.

  1. 타입스크립트로 코드를 작성하고 컴파일을 진행합니다.
  2. 타입 오류가 체크되고, 자바스크립트로 코드가 변환됩니다. 이 과정에서 타입스크립트의 인터페이스, 타입, 타입 구문 등은 제거되어 순수한 자바스크립트 코드가 됩니다.
  3. 자바스크립트 코드가 실행됩니다.

 

참고 자료

  • https://www.typescripttutorial.net/typescript-tutorial/what-is-typescript/

'개발 > Typescript' 카테고리의 다른 글

타입스크립트 (2) 기본 사용 방법  (0) 2022.12.20
타입스크립트 (3) 클래스 설명 및 사용 방법  (0) 2022.10.13
'개발/Typescript' 카테고리의 다른 글
  • 타입스크립트 (2) 기본 사용 방법
  • 타입스크립트 (3) 클래스 설명 및 사용 방법
휘Hwi
휘Hwi
여행, 사진, 개발, 책 이야기를 기록하는 여행자 휘의 블로그 𓂍
마이리얼트립 프로모션 할인 🏝️
마이리얼트립 호텔 예약 배너
※ 배너를 클릭하여 상품 구매 시, 파트너스 활동에 대한 소정의 수수료를 지급받습니다. 구매자에게 추가로 부과되는 수수료는 없습니다.
  • 휘Hwi
    휘: 끝나지 않은 이야기
    휘Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 기록
        • 일상 에세이
        • 인사이트
        • 투자와 재테크
        • 코인 이야기
        • 아카이빙
        • 집무실 레터
        • 사랑에 대하여
        • 번역 이야기(完)
        • 프리랜서 일지(完)
      • 여행 N
        • 🌎 세계 여행기 S1 (完)
        • 🌊 삼삼한 여행기 (完)
        • 🚶 온더로드
        • 🇯🇵 일본
        • 🏝️ 발리
        • 🇻🇳 베트남 N
        • 🇱🇰 스리랑카
        • 🇮🇳 인도
        • 🇹🇭 태국
        • 🇸🇬 싱가포르
        • 🇦🇺 호주
        • 🇭🇰 홍콩
        • 🇰🇷 한국
        • 🍚 여행자의 한 끼
        • ℹ️ 여행 정보
      • 사진
        • 사진가
        • 사진 이론과 생각
        • 사진 관련 정보
      • 영상
        • 파이널컷 모션 공부
        • 고프로 GoPro
        • 영상 관련 정보
      • 책
        • 책 읽고 쓰기
      • 개발
        • 티스토리
        • Internet
        • HTML
        • CSS
        • JavaScript
        • Typescript
        • React
        • Node.js
        • Express
        • NestJS
        • Python
        • Django
        • MySQL
        • MongoDB
        • AWS
        • Deployment
        • Terminal
        • Git
        • Glossaries
        • Articles
        • Projects
        • TIL;
      • 미분류
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
휘Hwi
타입스크립트 (1) 타입스크립트란?
상단으로

티스토리툴바