타입스크립트(Typescript) 입문해보기

유재헌·2023년 1월 29일
0

Typescript

목록 보기
1/8

타입스크립트(Typescript)란?

  1. Javascript에 추가적인 구문을 추가하여 editor와의 단단한 통합을 지원하는 strongly typed(강타입) 프로그래밍 언어. editor에서 초기에 오류를 잡을 수 있다.

  2. Typescript 코드는 Javascript가 실행되는 모든 곳(브라우저, Node.js, Deno 및 앱 등) 에서 Javascript로 변환될 수 있다.
    - 변환하는 이유는 브라우저가 Typescript가 아닌 Javascript를 이해하기 때문.
    - Node.js는 둘 다 이해할 수 있다.

  3. Typescript는 Javascript를 이해하고 타입추론(type inference)을 사용하여 추가 코드 없이도 훌륭한 도구를 제공한다. 개발자가 실수하지 않도록 보호해준다.

Typescript의 변환 과정

  1. Typescript코드를 작성
  2. Typescript가 에러를 감지하면 Javascript로 컴파일되지 않음
  3. 에러가 없다면 Javascript로 컴파일됨.

ex)

[1, 2, 3, 4] + false

위 와같은 코드는 컴파일 조차 되지 않는다.


Typescript의 타입 시스템

  1. Typescript에게 구체적으로 말해주는 방법(explicit)
let b : boolean = "x"
  • 변수 b가 boolean타입이어야 한다고 Typescript에게 말해주고 있지만
    boolean타입에 string타입을 할당할 수 없기 때문에 error가 뜬다.
let b : boolean = false
  • error가 나지 않는다.

  1. Typescript가 추론하게 하는 방법(implicit)
let a = "hello"
let c = [1, 2, 3, 4]

라고만 해도 Typescript는 a의 타입이 string이라는 것과 c의 타입이 number array라는 것을 추론해준다.

2번째 방법(implicit)으로 코드를 작성하는게 바람직하다.

  1. Typescript의 Typechecker에게 타입을 추론하는 것을 허용해주기 위해.
  2. 더 쉽고 코드도 짧아져 가독성이 향상됨.

let c = []

하지만 위처럼 빈 배열을 선언하는 경우에는 Typescript에게 이 array가 어떤 array라고 명시적으로 말해줘야할 필요가 있다.

let c : number[] = []

이와 같은 명시적 표현은 Typescript가 타입을 추론하지 못할 경우에만 최소한으로 사용하는게 좋다.

profile
possibilities

0개의 댓글