[TypeScript] ep.1 시작하기

모리스·2022년 6월 8일
0

TypeScript

목록 보기
1/2
post-thumbnail

📌 개요

우리 회사의 앱들은 React Native의 JavaScript 기반으로 만들어져 있다. 이번에 회사에서 기존 JS 프로젝트를 TypeScript로 변환하는 작업을 할 예정이라고 했다. 그래서 이번 글은 TS 공부 노트를 작성해 보고자 한다.

📌 TypeScript?

TypeScriptJavaScript를 기반으로 정적 타입 문법을 추가한 프로그래밍 언어이다. TS의 특징은 다음과 같다.

  • 컴파일 언어, 정적 타입 언어
    📍 JS는 동적 타입의 인터프리터 언어로 런타임에서나 오류를 발견할 수 있다. 그러나 TS는 정적 타입의 컴파일 언어이며 타입스크립트 컴파일러 또는 바벨(Babel)을 통해 JS 코드로 변환한다. 이 때문에 코드 작성 단계에서 타입을 체크해 오류를 확인할 수 있고, 미리 타입을 정해 놓기 때문에 실행속도가 빠르다는 장점이있다.
  • 자바스크립트 슈퍼셋(Superset)
    📍TSJS의 슈퍼셋, 즉 자바스크립트 기본 문법에 타입스크립트의 문법을 추가한 언어이다.
  • 객체 지향 프로그래밍 지원
    📍 TSES6에서 새롭게 사용된 문법을 포함하고 있으며 클래스, 인터페이스, 상속, 모듈 등과 같은 객체 지향 프로그래밍을 지원한다.

📌 TypeScript를 고려한 이유

기존 JS 프로젝트를 TS로 변환하려는 이유는 다음과 같다.

  • 높은 수준의 코드 탐색과 디버깅
    📍TS(타입스크립트)는 코드에 목적을 명시하고 목적에 맞지 않는 타입의 변수나 함수들에서 에러를 발생시켜 사전에 버그를 제거한다. 또한 코드의 자동완성이나 실행 전 피드백을 제공하여 작업과 동시에 디버깅이 가능해 생산성을 높일 수 있다.
  • 자바스크립트와 호환
    📍 타입스크립트는 자바스크립트와 100%호환 된다. 따라서 프론트엔드 또는 백엔드 어디든 자바스크립트를 사용할 수 있는 곳이라면 타입스크립트도 사용할 수 있다. 타입스크립트는 대형 프로젝트에 적합하다.
  • 강력한 생태계
    📍타입스크립트는 그리 오래되지 않은 언어임에도 불구하고 강력한 생태계를 가진다. 대부분의 라이브러리들이 타입스크립트를 지원하며, VSCode 또한 타입스크립트로 작성되었다.
  • 점진적 전환 가능
    📍 기존의 자바스크립트 프로젝트를 타입스크립트로 전환하는데 부담이 있다면 추가 기능이나 특정 기능에만 타입스크립트를 도입함으로써 프로젝트를 점진적으로 전환할 수 있다.

📌 단점

이러한 타입스크립트도 단점이있다. 간단하게 정리하면, 새로운 언어 습득에 대한 개발자들의 러닝 커브(Learning Curve)가 있고, 상대적으로 낮은 가독성, 코드량의 증가 등의 단점이 있다. 이는 프로젝트의 성격에 맞춰 타입스크립트를 사용할지 자바스크립트를 사용할지 개발자의 선택이다.

📌 마치며

이번에는 TypeScript의 기본적인 장단점과 특징을 기술했다. 다음 노트에서는 TS의 기본 문법에대해 기술할 생각이다.
노트를 보며 잘못된 부분이나 그 이외의 코맨트가 있다면 댓글을 통해 알려주시면 수정하겠습니다.

📌 출처

https://www.samsungsds.com/kr/insights/TypeScript.html

profile
모바일 앱 개발 노트 :)

0개의 댓글