ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TypeScript - Core Syntax & Feature(JavaScript와 차이점)
    개발언어/TypeScript 2023. 4. 16. 15:38

     type에 대한 자바스크립트와 타입스크립트의 차이점

    자바스크립트 type은  동적인 타입이다. 즉, 변수를 가질때 처음엔 숫자일 거라고 가정했지만 나중에 문자열이 그곳에 할당 되어도 완전히 괜찮다. 그리고 그것이 typeof 연자자를 가지는 이유다. typeof연산자를 가지므로써 런타임 도중 당시의  type을 확인할 수 있다.

     

    반면 타입스크립트는 type 정적이 타입이다. 즉 개발 도중 변수와 매개변수의 타입을 정의 하는 것을 끝낸다. 런타임 도중에 갑자기 정의한 type이 변하지는 않는다. 물론 타입스크립트는 결국 자바스크립트로 컴파일 되기 때문에 이론적으로 그럴수도 있다.

     

    타입스크립트를 사용할때는 정의 당시 숫자형이여야 한다고 설정했던 변수에 문자열을 할당하면 개발 도중에 Error가 발생한다. 때문 정의 할때 어떤 타입을 보유할 수 있는지 여부를 명확히 할 수 밖에 없다.

     

    런타임에 type 확인하기

    function add(n1: number, n2: number) {
      if (typeof n1 !== "number" || typeof n2 !== "number") {
        throw new Error("Incorrect input!");
      }
      return n1 + n2;
    }

    자바스크립트에서 많이 사용하는 type검사 방법이다.

     

    typeof를 사용한 런타임시에 type 검사는 타입스크립트로 수행할 수 있는 것 만큼이나 유연하거나 강력하지 않다.

    💡차이점 : 자바스크립트는 동적인 타입을 사용(런타임시 resolved된다.) 타입스크립트는 정적타입을 사용( 코드를 적는 중에 설정된다.)

     

    알아둬야 할 중요한 점은 타입스크립트의 type과 검사기능 자바스크립트 엔진에는 내장되어 있지 않기 때문에 타입스크립트의 기능들은 개발하는 시점과 개발 도중 코드를 컴파일 할때만 받을 수 있다는 것이다.

     

    💡 타입 스크립트의 주요 원시 타입은 모두 소문자로 시작한다. 
    ex) string O / String X , number O / Number X

     

     

     

     

     

    [ 출처 - https://www.udemy.com/course/best-typescript-21/ ]

    댓글

Designed by Tistory.