함수의 타입 정의
함수는 "어떤 재료가 들어가서(Input)", "어떤 결과물이 나오는지(Output)"가 가장 중요합니다. 이 두 군데 모두 꼼꼼하게 타입을 설정해 두면, 동료 개발자가 내 함수를 잘못 사용하는 것을 원천 차단할 수 있습니다.
// 파라미터(매개변수)와 반환값(Return)의 타입을 모두 지정합니다.
function calculate(a: number, b: number): number {
return a + b;
}
// 화살표 함수 버전
const multiply = (a: number, b: number): number => a * b;
// 1. 선택적 파라미터 (?) : 이 인자는 안 넘겨줘도 됩니다.
function greet(name: string, age?: number): string {
return age ? `${name}님(${age}세)` : `${name}님`;
}
greet("민수"); // 통과! (age 안 넣음)
// 2. 기본 파라미터 (=)
function createButton(text: string = "클릭"): void {
console.log(text);
}