타입스크립트(TypeScript)란 무엇인가?

juny_0429·2023년 5월 15일
0

타입스크립트(TypeScript)란?

  • Microsoft에서 개발한 자바스크립트(JS)의 상위 집합 언어
  • 정적 타입 시스템을 가지며, 이를 통해 코드의 안정성과 가독성을 높임
  • 대규모 프로젝트의 개발과 유지보수를 용이하게 해주는 기능을 제공
  • 라이언트 사이드와 서버 사이드를 위한 개발에 사용
  • 자바스크립트와의 호환성이 높아 이미 존재하는 자바스크립트 코드에 대해 점진적으로 타입스크립트를 도입할 수 있음

타입스크립트는 자바스크립트의 모든 단점을 보완해 만든 언어라고 할 수 있습니다. 동적인 자바스크립트에 타입을 미리 부여하여 컴파일 시 발생하는 에러들을 잡을 수 있습니다.

타입스크립트를 왜 사용해야 할까?

동적인 자바스크립트는 웹 브라우저에서 직접 실행 가능하며, 런타임 속도가 빠르고 배우기 쉬운 문법을 가지고 있습니다.
이러한 특징을 통해 개발자들은 빠르게 웹 페이지의 동적인 기능을 구현할 수 있습니다.

하지만 단점도 명확합니다.
타입을 명시적으로 선언하지 않기 때문에 코드 실행 시에만 타입 에러를 확인할 수 있습니다. 이는 개발자가 코드의 일부를 실행해보기 전까지는 타입 오류에 대해 알 수 없다는 의미입니다.

이 문제가 다수가 함께 개발하는 대규모 프로젝트로 가면 어떨까요?

타입에 관한 오류를 찾기 어렵기 때문에 유지보수가 어렵고 대규모 프로젝트에서 여러 명의 개발자가 함께 작업하는 경우에는 타입이 명확하게 정의되지 않은 코드를 다른 개발자가 이해하기 어려운 상황들이 발생합니다.


그렇다면 자바스크립트는 쓰면 안되고 무조건 타입스크립트를 사용하면 좋을까?

NO! 무조건 타입스크립트가 좋은건 아닙니다.

내가 진행하는 프로젝트의 방향이나 규모, 개발환경에 따라 서로의 장단점을 구분하여 사용하시는게 좋습니다.

타입스크립트 장단점

장점

  1. 정적 타입 지원
    타입스크립트는 정적 타입 시스템을 가지고 있어 변수, 함수, 객체 등의 타입을 명시할 수 있습니다. 이를 통해 컴파일 시 타입 체크를 수행하고 잠재적인 오류를 사전에 감지할 수 있습니다. 이는 코드의 안정성을 높이고 디버깅 시간을 줄여줍니다.

  2. 개발 생산성 향상
    타입스크립트는 코드의 가독성을 높여주고, 코드 완성 기능, 타입 체크, 리팩토링 지원 등의 개발 도구와 통합되어 개발 생산성을 향상시킵니다.
    IDE나 편집기와의 호환성이 좋아 코드 작성에 편의성을 제공합니다.

  3. 에코시스템 지원
    타입스크립트는 많은 프레임워크와 라이브러리에서 지원되고 있습니다.
    특히 앵귤러(Angular)와의 완벽한 통합을 지원하여 대규모 프론트엔드 프로젝트 개발에 유용합니다. 또한, 자바스크립트와의 호환성이 뛰어나서 이미 존재하는 자바스크립트 코드에 대해 점진적으로 타입스크립트를 적용할 수 있습니다.

  4. 유지보수 용이성
    타입스크립트는 타입 시스템과 강력한 IDE 지원을 통해 코드의 가독성과 유지보수성을 높여줍니다. 정적 타입 체크로 인한 잠재적인 버그를 줄이고, 코드베이스의 구조를 명확히 할 수 있어 팀 프로젝트에서 협업에 유리합니다.

단점

  1. 컴파일 시간
    타입스크립트는 자바스크립트로 컴파일되어 실행되어야 합니다.
    타입 체크와 같은 추가적인 작업이 필요하기 때문에 컴파일 시간이 자바스크립트에 비해 더 오래 걸릴 수 있습니다. 큰 규모의 프로젝트에서는 컴파일 시간이 증가하여 개발 속도에 영향을 줄 수 있습니다.

  2. 타입 정의의 복잡성
    타입스크립트의 정적 타입 시스템은 강력하지만, 코드에 타입을 명시하는 작업은 추가적인 번거로움을 유발할 수 있습니다. 특히, 복잡한 타입이나 제네릭 타입을 다루는 경우에는 타입 정의가 복잡해질 수 있습니다.

  3. 프로젝트 초기 설정
    타입스크립트를 사용하기 위해서는 프로젝트 초기 설정이 필요합니다. tsconfig.json 파일을 설정하고, 빌드 도구를 구성해야 하는 등의 추가 작업이 필요할 수 있습니다.

0개의 댓글