// TypeScript
const message: string = 'hi';
function sum(a: number, b: number): number {
return a+b;
}
a: number와 b: number: 두 개의 매개변수 a와 b는 모두 숫자(number) 타입으로 명시되어있음.
즉, 이 함수는 숫자 두 개를 입력받아야함.
: number 부분은 함수의 반환값이 숫자 타입이어야 한다는 것을 나타냄.
return a + b: 두 매개변수 a와 b를 더한 값을 반환함. 이 연산 결과도 숫자이므로 함수의 반환 타입 조건을 만족함.
// @ts-check
/**
@param {number} a
@param {number} b
@returns
*/
function sum (a,b){
return a+b;
}
sum (10, '20') // '20' 문자열은 number에 해당하지 않음
이러한 이유로 코드레벨에서 에러 사전 방지가 가능하다는 장점이 있음
=> 에러 해결 시 문제 없이 잘 작동함!
.js 파일을 .ts 파일로 변환한다면?
function sum (a: number, b: number){
return a+b;
}
sum (10, '20') // 잘못된 부분을 바로 파악할 수 있음