TypeScript 사용 이유

Chan·2023년 3월 10일

TypeScript

목록 보기
1/2
post-thumbnail

TypeScript Study Start

타입스크립트는 자바스크립트의 슈퍼셋이며 프로그래밍 언어이면서 도구이기도 하다
결국 타입스크립트는 자바스크립트를 기반으로 하는 프로그래밍 언어이다
자바스크립트 언어를 사용해 새로운 기능과 장점을 추가하는 언어로 새로 만들어진 언어는 아니며 자바스크립트 코드를 더 쉽고 강력하게 작성할 수 있게 해준다
코드를 실행하여 타입스크립트 코드를 자바스크립트로 컴파일하는 강력한 컴파일러이다

💡 컴파일러란?
주어진 언어로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로그램으로 변환하는 프로세스

  • 컴파일: 어떤 언어의 코드 전체를 다른 언어로 바꿔주는 과정
  • 컴파일러: 컴파일을 자동으로 수행해주는 소프트웨어

새로운 기능과 장점을 갖춘 타입스크립트 코드를 작성하여 일반적인 자바스크립트 코드를 얻을 수 있다
보다 사용하기 쉬운 새로운 기능, 멋진 구문 등을 추가해서 기존에 자바스크립트 코드로 작성하면 더 복잡한 코드들을 멋지고 쉬운 방법으로 컴파일 할 수 있게 해준다
중요한 점은 타입을 추가하고 자바스크립트 언어 추가 기능에 기능을 추가하므로 브라우저 런타임에서 에러가 발생하기 전에 코드의 에러를 미리 식별할 수 있는 장점이 있다
개발 중에 런타임 에러로 인해 발생하는 에러를 초기 과정에서 발견하고 수정할 수 있도록 추가적인 오류를 확인할 수 있다

  • 단점
    • 브라우저와 같은 자바스크립트 환경에서 실행할 수 없다
    • node.js 또한 타입스크립트를 실행할 수 없다
    • 자바스크립트를 실행할 수 있는 환경에서는 타입스크립트가 지원되지 않는다

  • JavaScript 코드 예시
function add(num1, num2) {
    return num1 + num2;
}

console.log(add("2", "3")); // 23 출력

자바스크립트로 해당 코드를 작성했을 경우 콘솔에 문자열 ‘2’ 와 ‘3’ 을 더한 문자열 ‘23’을 출력하게 된다
이는 자바스크립트가 다이나믹 타이핑 언어이기 때문에 수학적 계산을 수행하는 대신 문자열 자체를 더해버리는 경우가 발생한다
이는 자바스크립트에서는 실질적인 에러가 아니기 때문에 개발 도중에 에러가 포착되지 않는다
물론 프로젝트의 규모가 작다면 문제가 없을 수 있지만 프로젝트의 규모가 커질 수록 이런 부분들은 개발적으로 단점이 될 수 있는 부분이다
타입스크립트에서는 이런 부분을 사전에 미리 방지하여 타입을 정해주고 실행이 되기 전에 미리 에러를 포착하기 때문에 유용하다고 할 수 있다

  • 타입스크립트 코드 예시
function add(num1: number, num2: number) {
    return num1 + num2;
}

console.log(add(2, "3")); // '3'에서 에러 발생
profile
드디어 신발 신은 프론트엔드 개발자

0개의 댓글