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

wonway·2024년 5월 25일
post-thumbnail

요약

이유 3가지

  1. type으로 인해 안정성 확보
  2. type에 대한 예외처리 설정 불필요
  3. js 엔진에 최적화 작업 성능 증가

특징 비교

특성JavaScriptTypeScript
타입 지정동적 타입 지정정적 타입 지정
컴파일인터프리터 방식, 별도의 컴파일 단계 없음JavaScript로 컴파일
ES6 기능 지원ES6 기능을 기본적으로 지원트랜스파일을 통해 ES6 기능 지원
객체지향 프로그래밍 지원객체지향 프로그래밍 지원 (강제되지 않음)클래스와 인터페이스를 통한 객체지향 프로그래밍
정적 타입 체크없음컴파일 시 정적 타입 체크
커뮤니티큰 커뮤니티, 다양한 자료성장 중인 커뮤니티, Microsoft의 지원

컴파일러와 인터프리터의 차이점

특성인터프리터컴파일러
번역 및 실행 방식코드 한 줄씩 번역하고 즉시 실행전체 코드를 한 번에 번역하여 목적 프로그램을 생성한 후 실행
실행 파일 생성 여부없음있음
프로그램 실행 속도실행 시마다 번역을 하므로 느림한 번 번역한 후 실행하므로 빠름
개발 편의성코드 변경 후 즉시 실행 결과를 확인할 수 있어 편리코드 변경 후 다시 컴파일하고 실행해야 하므로 번거로움
오류 발견 시점실행 시점에서 오류 발견 가능컴파일 시점에서 대부분의 오류 발견 가능
CPU 사용 시간매번 번역하여 실행하므로 CPU 사용 시간이 많음한 번 번역한 후 실행하므로 CPU 사용 시간이 적음
사용 예JavaScript, Python, Ruby 등C, C++, Java, FORTRAN, COBOL 등

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

1. 타입으로 인해 안정성 확보

정적 타입을 지원하여 변수, 함수, 객체 등의 타입을 명시적으로 선언할 수 있다. 이는 코드 작성 시점에 타입 오류를 발견할 수 있게 해주므로 코드의 안정성을 높인다.

예를 들어 숫자형 변수를 문자열로 잘못 사용하는 경우, 컴파일 시점에 오류를 감지할 수 있다.

2. 타입에 대한 예외처리 설정 불필요

타입을 명확하게 정의함으로써 많은 예외 상황을 컴파일 단계에서 제거할 수 있다. 이는 개발자가 코드에서 타입 관련 예외 처리를 수동으로 추가할 필요성을 줄여준다. 잘못된 타입의 값을 방지하면 가독성과 유지보수성이 증가한다.

3. JS 엔진에 최적화 작업 성능 증가

js엔진은 자주 호출되는 함수를 최적화한다. ( *hot function )

이렇게 최적화한 함수의 인자의 타입이 변화하면 최적화가 해제되고 다시 최적화를 실행하게 된다. 타입을 지정하면 최적화를 계속 유지하여 성능이 증가한다.


  • Hot function? Hot function이란 자바스크립트 엔진이 자주 호출되는 함수이다. 이러한 함수는 빈번하게 실행되므로, 엔진은 성능 최적화를 위해 이 함수를 특별히 다룬다. 최적화는 다음과 같은 방식으로 이루어진다:
    1. 반복 호출 감지: 엔진은 특정 함수가 자주 호출된다는 것을 감지

    2. 최적화 적용: 반복적인 호출 패턴을 기반으로 해당 함수를 더 빠르게 실행할 수 있도록 최적화

      예를 들어, 다음 함수가 자주 호출된다면

      let add = (a, b) => a + b;

      만약 이 함수가 항상 정수 인자를 받는다면, 엔진은 이를 기반으로 최적화를 수행한다. 그러나 갑자기 문자열이 인자로 들어오면 최적화가 해체되어 성능이 저하된다. TypeScript에서는 함수의 인자 타입을 명시적으로 지정함으로써 이러한 문제를 방지할 수 있다.

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

      이렇게 하면 타입 안정성을 확보하고, 자바스크립트 엔진이 최적화를 더 효과적으로 유지할 수 있다.


      참고자료 : 블로그

profile
문제를 컴퓨터로 해결하는 데서 즐거움을 찾는 프론트엔드 개발자

0개의 댓글