[Typescript] 타입스크립트란?

79ptke·2023년 5월 31일

타입스크립트

목록 보기
1/9
post-thumbnail

타입스크립트란?

타입스크립트란 마이크로소프트에서 개발한 프로그래밍 언어이이며, 자바스크립트를 더 안전하게 사용할 수 있도록 "타입 관련 기능들을 추가한"언어입니다. 즉, 타입스크립트는 자바스크립트의 확장판이라고 할 수 있습니다.

자바스크립트와 타입스크립트를 비교해 보겠습니다.

//javascript 
let a = 1;
let b = 2;

console.log(a+b);

여기가 흔히 우리가 알고 있는 자바스크립트 기본 문법입니다.

//typescript
let a:number = 1;
let b:number = 2;

console.log(a+b);

타입스크립트는 자바스크립트와 다르게 변수에 number라는 타입을 정의하는 문법을 추가했습니다.

이렇게 타입스크립트는 자바스크립트의 기본적인 모든 문법을 포함할 뿐만 아니라 변수, 함수, 객체 등의 타입을 명시적으로 지정할 수 있습니다.

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

타입스크립트를 사용하는 이유를 알기 전에 먼저 타입 시스템에 대해서 알아야 합니다.타입시스템에는 정적 타입 시스템동적 타입 시스템이 있습니다.

  • 정적 타입 시스템
    코드 실행 이전 모든 변수의 타입을 고정적으로 결정합니다.
    엄격하고 조정적인 시스템이라고 할 수 있습니다.
    예시로는 C나 Java가 있습니다.
  • 동적 타입 시스템
    코드를 실행하고 나서 그때그때 마다 유동적으로 변수의 타입을 결정합니다.
    자유롭고 유연한 시스템입니다.
    예시로 Python이나 Javascript가 있습니다.

javascript에서 변수는 타입이 하나로만 고정되어 있지 않아 아무 타입의 값이나 자유롭게 담을 수 있습니다.

let a = "hello"; //문자열
a = 10; //숫자

a.toUpperCase(); 

이 코드를 실행해 보면 a의 타입이 숫자로 바꼈고, 그래서 문자열에서 사용하는 함수인 toUpperCase()를 사용했을 때 오류가 납니다. 너무 유연해서 문제가 생기는 것입니다. 반대로 자바같은 정적 타입 시스템에서는 모든 변수에 타입을 다 지정해줘야해서 타이핑 양이 많아지는 문제가 있습니다.

반면에, 타입스크립트는 점진적 타입 시스템으로 실행 전 검사를 통해 타입의 안정성을 확보하고 자동으로 변수 타입을 추론하여 오류의 발생을 줄여줍니다. 이러한 것 외에도 타입스크립트는

  • 코드의 가독성과 유지보수성 향상
  • 대규모 프로젝트에서의 안정성 보장
  • 자바스크립트 생태계와의 호환성
  • 개발 도구와 생태계 지원

등의 장점을 가지고 있습니다.

위의 내용은 <한 입 크기로 잘라먹는 타입스크립트> 강의 내용을 참고하면서 작성했습니다.

0개의 댓글