Typescript란?

박진·2021년 5월 12일
0

타입스크립트란 자바스크립트를 베이스로하는 언어로, 자바스크립트를 감싸는 언어 같은 것 이다.

  • 자바스크립트는 dynamically typed은 프로그램이 동작할때 실시간으로 실행되어, 런타임시 오류가 생길수있다.
  • 타입스크립트는 Statically Typed 으로 컴파일시간때 이러한 에러를 잡을수있다.
  • 자바스크립트는 객체지양형 언어이지만, 강력한 객체지향 프로그램을 하기에는 어렵다. es6클래스만으로는 한계적이기 때문이다.
  • 타입스크립트는 이러한점을 보완하는 class, interface, generics, types 다양한것을 활용할수있다.
  • Client-side, Server-side 둘다 가능하다. 이유는 타입스크립트를 자바스크립트 코드로 변환하기때문에 (컴파일러 또는 바벨을 이용하여)

왜 타입스크립트를 배워야하는가?

  • 자바스크립트는 프로그램이 동작할때 타입이 결정되는 프로그램 언어
  • 타입스크립트는 코딩이 할때 타입이 정해져 즉각적으로 에러를 알수있다.

기본이해

  • 코드를 프로그램 형태로 동작시키기 위해 언어나 바이너리 형태로 변화해주는 작업 = 컴파일러
  • 컴파일러 시간에 타입이 결정되고 확인이 되면 stactically typed
  • 프로그램이 동작할때, 런타임환경때 동작되고 확인되는것을 dynamically typed

예제)

// statically typed
let num = 10;
num = "good";

// dynamically typed
let num:number = 10;
num = "good"; //error 발생!!

그럼 왜 타입스크립트가 더좋은가?

  • 자바스크립트는 타입이 없기에, 가독성이 굉장히 떨어진다. ex 변수가 어떤타입이고 어떤것인지 모른다.
  • 내가 개발을할때 이슈를 잡는게 아니라, 사용자가 어플리케이션을 사용할때 에러를 만나 문제를 발생한다
  • 실시간으로 에러에대한 검사를 할수있어 조금더 안정적이고 확장이쉬운 개발을 할수있다.
  • 강력한 객체지향언어를 할수있다. (Object-Oriented Programming)
  • OOP = 객체위주로 모듈성있는 코드를 작성하고, 모듈별로 재사용 할수있으며, 객체단위로 확장할수있는 확장성, 유지보수성이 굉장히 높다.

타입스크립트에 필요한 준비물

  • vs code
  • terminal
  • node js = 자바스크립트 런타임 환경으로써, 자바스크립트를 브라우저 밖에서 (터미널)에서 이용할수있도록 하는것 → npm 이나오는 패키지 매니저로 다양한툴이나 라이브러리를 간편하게 설치 및 업데이트를 도와줌.
  • 타입스크립트 툴 ⇒ 자바스크립트 코드로 변환해주는 툴

타입스크립트 설치하는법

  • npm install -g typescript
  • tsc -v 버전확인
  • npm install -g ts-node => 타입스크립트 코드를 자바스크립트코드로 변환해서 노드에서 실행하는것을 한번에 도와주는 툴 설치
    - 사용법 ts-node 파일
profile
Hello :)

0개의 댓글