함수는 "어떤 재료가 들어가서(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); }