[JS] Typescript

daniel·2022년 5월 23일
0

[JS]

목록 보기
3/16
post-thumbnail

Typescript?

TypeScript is a programming language developed and maintained by Microsoft. It introduces additional features like strict type binding (variables are bound to specific data types) to JavaScript and can also be compiled down to JavaScript as well.

자바스크립트는 파이썬 루비와 같이 런타임시 자료형이 결정되는 동적타입언어이다. 따라서 코드작성 시 변수의 타입을 정해주지 않아도 괜찮다. 이로인해 코드 작성 시 유연함을 가진다. 하지만 세상 모든 것이 그렇듯이 장점을 가지면 반대급부로 단점을 가지게 되어있다. 유연함을 가진대신 안정성이 떨어진다. 타입에 대한 리스크를 런타임에서 감당해야한다.

타입스크립트는 마이크로소프트사에서 개발된 프로그래밍언어로 이러한 자바스크립트의 단점인 타입 불안정성을 보완하기 위해 고안되었다.

Typescript transpiling

타입스크립트파일 (ts , tsx) 자체는 브라우저에서 동작하지 않으므로 TypeScript 컴파일러를 통해 자바스크립트 파일로 변환해야한다. 여기서 컴파일이라는 용어보다는 transpiling(언어를 다른 언어 코드로 변환해주는것) 이라고 표현하는게 더 올바를 것 같다.

Typescript type 지정법

타입스크립트는 일반 변수, 매개 변수, 객체 속성 뒤에 : TYPE을 붙이는 형식으로 지정할 수 있다.

  1. 기본적인 형식

  1. 배열타입 지정시 다른타입 두가지가 섞여있다면 | 을 붙여주어 or 조건을 만들어주는 방식
  2. 객체의 경우 interface 예약어를 이용하여 타입을 만들어 지정하는 방식

유연적인 특성을 살리려고 자바스크립트를 사용하지만 그 유연함이 결점을 만들어냈고 타입스크립트가 이를 보완해주었다. 타입스크립트는 이 세상에 완벽 무결이란 없으니까.. 즉 최선이라는것은 프로그래밍에서 없으니 수많은 방법중 중 차선책을 쓰는것이 현명한 개발방식이라고 시사해주는 것 같다.

프로그래밍 뿐만아니라 인생자체가 원래 수많은 선택지 중 차선을 골라 나가는것 아닐까?
profile
FE 개발 velog

0개의 댓글