정적 타이핑 통해 코드 안정성 크게 향상
개발 시 타입 오류를 런타임으로 실행하기 이전에 발견할 수 있어 런타임 에러를 줄이고, 코드의 품질 개선
개발자의 생산성 높여줌
IDE의 자동완성 기능과 인텔리센스가 더 많은 정보를 제공할 수 있게 되기 때문에 코드 작성 속도가 빨라지고 리팩토링 쉬워짐 또한 명시적 타입 정의가 문서화의 역할을 하여 코드의 가독성과 이해도가 높아짐
객체지향 프로그래밍의 일부 기능을 자바스크립트에 추가
인터페이스, 제네릭, 열거형 등 현대적인 프로그래밍 패러다임을 지원하여 더욱 구조화되고 확장 가능한 코드 작성할 수 있게함
즉 JS의 한계를 극복하고, 안정성, 생산성, 기능성 향상 시킴
===============================
개발 속도와 간단함이 주요한 소규모 프로젝트엔 오히려 도입 안하는 게 좋음
ex - 프로토타입 제작, 단순 랜딩 페이지
경험 부족하거나 러닝 커브 극복할 시간 없을때도 마찬가지
마지막으로 기존 JS 프로젝트가 너무 방대하고, ts로 전환하는 비용이나 리소스가 감당이 안될때도임
이럴 땐 점진적 도입, 순수 js유지하면서 코드 리뷰와 테스트 강화로 대안 마련 가능
=============================
새롭게 도입할 땐 ts의 장점과 실질적 이점을 명확히 전달해야함
런타임 에러 줄이고 코드 안정성 강화를 할 수 있고, 유지보수 비용이 큰 프로젝트나 복잡한 코드베이스가 있을 땐 ts시스템이 협업과 코드 품질 개선에 도움되기 때문
그리고 초기 학습곡선과 도입에 대한 부담 완화할 수 있는 점진적 도입 전략도 강조해야함
ex - 신규 코드에만 ts를 부분 도입, 주요 모듈에 한정해 적용해보면서 서서히 적용해나가는 것도 전략임
또한 팀이 학습에 부담 느끼지 않도록 공식 문서, ts핸드북, 교육자료 등을 제공하는 것도 좋은 방법