01. JS → TS로

개발공부·2023년 3월 21일
0

타입스크립트

목록 보기
4/8
post-thumbnail

1. 자바스크립트의 역사

  • 1995년 출시 이후 계속 발전함
  • 브라우저, 임베디드 애플리케이션, 서버 런타임을 포함한 다양한 환경에서 호환성을 수십 년간 유지

2. 바닐라 자바스크립트의 함정

  • 바닐라 : 중요한 언어 확장이나 프레임워크 없이 자바스크립트를 사용하는 것

→ 문제점 : 코드를 구성하는데 자유도가 높으나 이는 곧 독이 되기도 함

→ 문자열이었던 것이 다른 타입으로 변경되거나 메서드 이름이 변경되기도 함

자바스크립트는 다른 언어와 달리 충돌 가능성을 먼저 확인하지 않고 코드를 실행하는 동적 타입언어(문제점을 발견하기 쉽지 않음)

  • 자바스크립트 언어 사양에는 매개변수, 함수 반환, 변수 또는 다른 구성요소의 의미를 설명하는 표준화된 내용이 없음(JSDoc을 사용하긴 함)

→ JSDoc의 설명이 모두 맞는지, 주석을 모두 찾긴 어려우며, 복잡한 객체를 설명 시 다수의 독립적 주석 필요

  • 자바스크립트는 타입을 식별하는 내장된 방법 제공하지 않음, C#이나 자바처럼 클래스 멤버 이름을 변경하거나 이눗의 타입이 선언된 곳으로 이동할 수 있는 기능 없음

3. 타입스크립트

  • 2010년 초에 만들어져 2012년에 출시 및 오픈소스화됨

  • 특징

    1) 프로그래밍언어 : 자바스크립트의 모든 구문과 타입 정의하고 사용

    2) 타입 검사기 : 모든 구성요소(변수, 함수 등) 이해하고 잘못된 부분을 알려줌

    3) 컴파일러 : 타입 검사기를 실행하고 문제 보고한 후 자바스크립트 코드 생성

    4) 언어 서비스 : VS Code 같은 편집기에 유용한 제공법을 알려줌(프로그래머에게 도움줌)

  • 공식 웹사이트 : 플레이그라운드

  • 타입스크립트는 매개변수와 변수에 제공되는 값의 타입을 지정할 수 있음

→ 제한을 둠으로써 다른 코드영역에서 코드를 확인 후 업데이트를 하지 않았다면 타입스크립트가 알려줌

  • 정확한 문서화라는 의미 : 객체의 형태를 설명하고 해당 코드에 무슨 속성이나 메서드가 있는지 확인 할 수 있음

  • VS code에서 타입 검사기를 통해 코드에 유용한 제안을 하기도 함

4. 타입스크립트 플레이그라운드에서 시작하기

  • 구문 컴파일러 : 플레이그라운드에서 확인 가능

5. 로컬에서 시작하기

  • 웹이 아닌 로컬에서는 node.js가 설치되어야 함

tsconfig.json : 타입스크립트가 코드 분석 시 사용하는 설정 선언

→ 코드에 오류가 있어도 입력파일로부터 자바스크립트를 계속 생성함

6. 타입스크립트에 대한 오해

  • 타입스크립트의 설계 목표

→ 현재와 미래의 ECMA스크립트 제안에 맞춘다

→ 모든 자바스크립트 코드의 런타임 동작을 유지한다

  • 타입스크립트 특징

→ 코드를 빌드하는데 자바스크립트보다는 시간이 좀 더 걸림(ts → js로 변환해야 함)

profile
개발 블로그, 티스토리(https://ba-gotocode131.tistory.com/)로 갈아탐

0개의 댓글