타입스크립트(TypeScript)란?
타입스크립트를 왜 사용해야 할까?
동적인 자바스크립트는 웹 브라우저에서 직접 실행 가능하며, 런타임 속도가 빠르고 배우기 쉬운 문법을 가지고 있습니다.
이러한 특징을 통해 개발자들은 빠르게 웹 페이지의 동적인 기능을 구현할 수 있습니다.
하지만 단점도 명확합니다.
타입을 명시적으로 선언하지 않기 때문에 코드 실행 시에만 타입 에러를 확인할 수 있습니다. 이는 개발자가 코드의 일부를 실행해보기 전까지는 타입 오류에 대해 알 수 없다는 의미입니다.
이 문제가 다수가 함께 개발하는 대규모 프로젝트로 가면 어떨까요?
타입에 관한 오류를 찾기 어렵기 때문에 유지보수가 어렵고 대규모 프로젝트에서 여러 명의 개발자가 함께 작업하는 경우에는 타입이 명확하게 정의되지 않은 코드를 다른 개발자가 이해하기 어려운 상황들이 발생합니다.
NO! 무조건 타입스크립트가 좋은건 아닙니다.
내가 진행하는 프로젝트의 방향이나 규모, 개발환경에 따라 서로의 장단점을 구분하여 사용하시는게 좋습니다.
타입스크립트 장단점
정적 타입 지원
타입스크립트는 정적 타입 시스템을 가지고 있어 변수, 함수, 객체 등의 타입을 명시할 수 있습니다. 이를 통해 컴파일 시 타입 체크를 수행하고 잠재적인 오류를 사전에 감지
할 수 있습니다. 이는 코드의 안정성을 높이고 디버깅 시간을 줄여줍니다.
개발 생산성 향상
타입스크립트는 코드의 가독성을 높여주고, 코드 완성 기능, 타입 체크, 리팩토링 지원 등의 개발 도구와 통합되어 개발 생산성을 향상
시킵니다.
IDE나 편집기와의 호환성이 좋아 코드 작성에 편의성을 제공합니다.
에코시스템 지원
타입스크립트는 많은 프레임워크와 라이브러리에서 지원되고 있습니다.
특히 앵귤러(Angular)와의 완벽한 통합을 지원하여 대규모 프론트엔드 프로젝트 개발에 유용
합니다. 또한, 자바스크립트와의 호환성이 뛰어나서 이미 존재하는 자바스크립트 코드에 대해 점진적으로 타입스크립트를 적용할 수 있습니다.
유지보수 용이성
타입스크립트는 타입 시스템과 강력한 IDE 지원을 통해 코드의 가독성과 유지보수성을 높여줍니다. 정적 타입 체크로 인한 잠재적인 버그를 줄이고
, 코드베이스의 구조를 명확히 할 수 있어 팀 프로젝트에서 협업에 유리
합니다.
컴파일 시간
타입스크립트는 자바스크립트로 컴파일되어 실행되어야 합니다.
타입 체크와 같은 추가적인 작업이 필요
하기 때문에 컴파일 시간이 자바스크립트에 비해 더 오래 걸릴 수 있습니다. 큰 규모의 프로젝트에서는 컴파일 시간이 증가하여 개발 속도에 영향
을 줄 수 있습니다.
타입 정의의 복잡성
타입스크립트의 정적 타입 시스템은 강력하지만, 코드에 타입을 명시하는 작업은 추가적인 번거로움을 유발할 수 있습니다. 특히, 복잡한 타입이나 제네릭 타입을 다루는 경우에는 타입 정의가 복잡
해질 수 있습니다.
프로젝트 초기 설정
타입스크립트를 사용하기 위해서는 프로젝트 초기 설정이 필요
합니다. tsconfig.json 파일을 설정하고, 빌드 도구를 구성해야 하는 등의 추가 작업이 필요할 수 있습니다.