타입스크립트는 자바스크립트에 타입을 얹은 확장 버전이다. 주로 자바스크립트의 Superset이라고 표현한다.
타입스크립트는 왜 쓸까?
자바스크립트에서 실수할 수 있는 것들을 방지할 수 있다.
// return sum of a and b
function sum(a, b) {
return a + b;
}
의도하는 코드는 함수의 파라미터로 들어오는 두 인자의 합을 리턴하는 것이다.
sum(1, '2');
자바스크립트에서 결과는 12
이다.
자바스크립트에서도 사실 이를 방지할 수 있는 방법이 있다. jsdoc을 사용하면 된다.
/**
* @property {number} a
* @property {number} b
* @returns {number}
*/
function sum(a, b) {
return a + b;
}
VSCode같은 에디터를 사용하는 경우 자바스크립트임에도 sum()
을 작성할 때 친절히 파라미터의 타입을 알려준다.
하지만 타입스크립트는 다음처럼 문법으로 지원한다.
function sum(a:number, b:number):number {
return a + b;
}
개인적으로 자바로 코딩을 시작해서인지 타입을 지정해줘야 내 마음이 편한 느낌.
그 외에 다른 사람들은 타입스크립트를 사용하면서 버그를 발견했다거나 프로덕트 코드를 이제서야 대부분 이해했다고 말한다. 출처