타입스크립트는 마이크로소프트(MS)에서 개발하여 2012년10월에 첫 출시되었다. 오픈소스 프로그래밍 언어로 어떤 브라우저나 호스트, 운영체제에서도 동작하며 자바스크립트이 상위 집합으로 자바스크립트이 모든 단점을 보완해 만든 언어이다. 동적인 자바스크립트의 언어에 타입으르 미리 부여 함으로써 자바스크립트의 에러를 사전에 방지해주는 장치와 같다고 느꼈다.
타입스크립트는 타입을 부여하기 때문에 코드 작성 시에 알맞지 않은 타입을 넣거나, 혹은 타입을 넣지 않았을 경우 사전에 IDE에서 오류라고 경고를 준다.
이것은 사전에 오류를 디버깅 할 수 있고 나중에 디버깅하는 시간을 줄여줘 생산적인 측면에서 효과적이다.
위에서 말했다시피 자바스크립트는 동적 타입의 인터프리티 언어이다.
(인터프리터 언어는 명령어 한 줄씩 컴파일링 되기 때문에 명령어 한 줄 한 줄이 중요하며 시간이 오래걸릴수있다.)
이 말은 실행할때 타입을 결정해서 적용된다는 것이며 '컴퓨터'에게 오류가 있는지 없는지 체크하라고 일을 맡겨버린 것과 같기 때문에 실행 속도가 당연히 오래 걸린다.
하지만 타입스크립트는 '사람'이 코드 작성 시에 오류를 체크하고, 타입을 미리 결정하기 때문에 기계가 할 일을 덜어 실행 속도가 매우 빠르다는 장점이 있다.
let numberOrstring;
자바스크립트는 위와 같이 작성하였을 경우 같이 협업하는 사람이나 혹은 다른 사람이 코드를 읽을 경우 타입이 어떤 것인지 짐작하기가 어렵다.
위와 같은 문제뿐만 아니라 자바스크립트는 실행 중에 버그를 찾기 때문에 테스트 때 미처 발견하지 못한 에러가 운영 중에 발견될 수도 있다.
하지만 타입스크립트는 타입을 명시할 수 있고 컴파일 시 오류를 찾기 때문에 보다 더 안정적이다라고 말할 수 있다.
자바스크립트에 비해 초기 세팅이 까다롭고, 꽤 귀찮다.
보통 자바스크립트 개발자인 경우 새로운 언어를 따로 배워 적용해야 한다는 단점이 있다.
타입스크립트는 자바스크립트보다 코드를 더 많이 작성해야 한다.
이것은 개발 기간이 늘어나며, 코드를 더 작성하기 때문에 가독성이 더 떨어지는 부작용도 있다.
출처