TIL : 타입스크립트(Type Script)

Perfume·2021년 1월 11일
0
post-custom-banner

프론트엔드 개발자라면 한 번쯤 이름을 안 들어볼 수가 없는 TypeScript. 솔직히 나는 지금까지도 TypeScript가 뭔지 몰랐다. 쓰는 곳이 많다더라, 회사에 취업할 때 도움이 된다더라 이런 이야기밖에 들어본 적이 없었다. 그래서 오늘의 TIL 주제는 바로 "TypeScript가 무엇인가? 그리고 그걸 왜 쓰는가?" 이다!

타입스크립트는 자바스크립트의 모든 기능을 포함하면서 정적 타입을 지원하는 언어다. -실전 리액트 프로그래밍 431p

저 문장을 제대로 이해하려면 먼저 두 가지 의문이 해소되어야 한다.

  1. 동적 타입 언어가 무엇이고 정적 타입 언어가 무엇인가?
  2. 왜 자바 스크립트에 정적 타입이 필요한가?

아래에서 자세히 적어보겠다.

동적 타입 언어가 무엇이고 정적 타입 언어가 무엇인가?

동적 타입 언어는 타입에 대한 고민을 하지 않아도 되므로 배우기 쉽다. 코드의 양이 적을 때 생산성이 높다. 타입 오류가 런타임 시 발견된다.

반면 정적 타입 언어는 변수를 선언할 때마다 타입을 고민해야 하므로 진입 장벽이 높다. 코드의 양이 많일 때 동적 타입 언어에 비해 생산성이 높다. 타입 오류가 컴파일 시 발견된다.

-실전 리액트 프로그래밍 432p

그래서 타입이 뭔데? 라는 질문이 생길 수 있다. 타입은 자료형을 말한다. string인지, number인지, object인지.. 이런 분류를 자료형이라고 한다. 아무튼 동적타입 언어(Dynamically typed languages)는 이런 자료형을 런타임 시에 결정한다. 반면 정적타입 언어(Statically typed language)는 컴파일 시 변수의 타입이 결정된다. 따라서, 프로그래머가 변수에 들어갈 값의 형태에 따라 직접 변수의 타입을 명시해줘야 한다.

바닐라 자바스크립트를 쓸 때 String인지, Number인지 지정하지 않아도 변수를 선언하면 알아서 어떤 자료형인지 컴퓨터가 알고 있던 것을 경험해본 적 있을 것이다. 그게 바로 자바스크립트가 동적 타입 언어이기 때문에 가능했던 일이다.

자, 그럼

왜 자바스크립트에 정적 타입이 필요한가?

이것은 다음 시간에 계속 알아보도록 하겠다.

참조:실전 리액트 프로그래밍,
https://devuna.tistory.com/82 [튜나 개발일기📚]

profile
공부하는 즐거움
post-custom-banner

0개의 댓글