의도하지 않은 리턴값을 피할 수 있다.
//JS
function jsAdd(num1, num2) {
return num1 + num2;
}
//TS
function add(num1: number, num2: number): number {
return num1 + num2;
}
자바스크립트에서는 문자열과 문자열도 더할 수 있기 때문에 위의 함수는 의도한 결과값이 나오지 않을 가능성이 있다.
하지만 타입스크립트는 매개변수의 타입도 number, 리턴값도 number로 지정했기 때문에 문자열 + 문자열이 리턴될 가능성이 없다.
함수의 리턴값을 한 눈에 알 수 있다.
//JS
function jsFecth(id) {
//code..
//code..
return new Promise((resolve, reject) => {
resolve(100);
});
}
//TS
function tsFecth(id: string): Promise<number> {
//code..
//code..
return new Promise((resolve, reject) => {
resolve(100);
});
}
함수가 복잡하고 길어지면 어떤 값을 리턴하는지 한 눈에 보이지 않는다.
타입스크립트는 리턴값의 타입을 미리 지정하기 때문에 함수의 선언문만 보아도 리턴값을 알 수 있다.