[TypeScript] 특징, 이점, 한계점

조아영·2024년 10월 4일

📌

기술 면접을 대비하는 시간에 시원하게 대답하지 못했다. 그래서 해당 내용을 정리해 보려 한다.

❔ 문제

타입스크립트가 자바스크립트 대비 가지는 이점과 특징을 설명해주세요. 그리고 타입스크립트만의 한계점이 있다고 생각하신다면 말씀해주세요.

❕ 정리

특징

  • 자바스크립트의 상위 집합
    타입스크립트는 자바스크립트의 모든 기능을 포함하면서, 타입 정의 기능을 추가로 제공합니다. 즉, 기존의 자바스크립트 코드를 그대로 사용하면서도 필요한 부분에 타입스크립트 기능을 적용할 수 있습니다.
  • 컴파일 언어
    타입스크립트는 자바스크립트로 컴파일되어 브라우저에서 실행됩니다. 이 과정에서 타입스크립트가 제공하는 타입 체크를 통해 오류를 미리 확인할 수 있어, 더 안전한 자바스크립트 코드를 작성할 수 있습니다.

이점

  • 타입 안정성
    타입스크립트는 변수, 함수 등에 타입을 명시할 수 있어 잘못된 데이터 타입을 사용하는 실수를 줄여줍니다. 예를 들어, 숫자를 받아야 할 함수에 문자열을 전달하면 코드 작성 중에 오류를 미리 알려줍니다.
  • 가독성과 유지보수성 향상
    명확한 타입 정의는 코드의 가독성을 높여 줍니다. 덕분에 다른 개발자가 코드를 읽고 이해하기 쉽고, 유지보수 또한 편리해집니다.
  • 대규모 프로젝트에서 유리
    코드베이스가 커질수록 코드 간의 의존성을 명확하게 정의하는 것이 중요합니다. 타입스크립트는 대규모 프로젝트에서 협업 시 발생할 수 있는 오류를 줄이고, 코드 구조를 더욱 견고하게 만들어 줍니다.

한계점

  • 러닝 커브
    자바스크립트만 사용하다가 타입스크립트를 처음 접하면 타입 시스템을 이해하는 데 시간이 걸릴 수 있습니다. 특히 복잡한 타입 정의나 제네릭 같은 개념은 익숙해지기까지 시간이 필요할 수 있습니다.
  • 컴파일 시간 증가
    타입스크립트는 자바스크립트로 변환되는 과정이 필요하기 때문에 컴파일 시간이 추가로 소요됩니다. 이로 인해 빌드 속도가 느려질 수 있습니다.
  • ⭐ 런타임 오류를 완벽히 방지하지는 못함
    타입스크립트는 컴파일 단계에서만 타입 체크를 수행하며, 최종적으로는 자바스크립트로 변환되어 실행됩니다. 그렇기 때문에 타입스크립트로 작성된 코드라 할지라도, 런타임에서 자바스크립트의 동적 특성에 의해 오류가 발생할 수 있습니다. 컴파일 단계에서 안정성을 확보할 수 있지만, 런타임 오류를 완전히 방지하지는 못합니다.

0개의 댓글