함수 타입은 어떤 "타입의" 매개변수를 받고, 어떤 "타입의" 결과값을 반환하는지 표현한다.
반환값 타입은 생략해도 알아서 추론하기 때문에 생략해도 괜찮다.
function func(a: number, b: number) {
return a + b;
}
화살표 함수의 타입
일반 함수에서와 동일하게 반환값 타입은 생략해도 알아서 추론하기 때문에 생략해도 괜찮다.
const add = (a: number, b: number): number => a + b;
필수 매개변수와 선택적 매개변수
function intruduce(name = "머랑", tall: number) {
console.log(`name : ${name}`);
if (typeof tall === "number") {
console.log(`tall : ${tall}`);
}
}
introduce("머랑이");
매개변수명 뒤에 ?를 붙여서 선택적 매개변수로 설정할 수 있다.
단, 선택적 매개변수를 이용할 때는 타입가드를 붙여주어 에러를 방지하자.
그리고 선택적 매개변수는 항상 필수 매개변수보다 뒷쪽에 위치해야 한다.
가변 길이 매개변수
functino getSum(...rest: number[]) {
let sum = 0;
rest.forEach((it) => (sum += it));
return sum;
}
getSum(1, 2, 3); // 6
getSum(1, 2, 3, 4, 5); // 15
만약, 매개변수 길이를 3개로 고정시키고 싶으면 튜플 타입을 이용하면 된다.
functino getSum(...rest: [number, number, number]) {
let sum = 0;
rest.forEach((it) => (sum += it));
return sum;
}'Language > TypeScript' 카테고리의 다른 글
| [TypeScript] 서로소 유니온 타입 : 묶어서 선언할 때 유의할 점 (0) | 2025.04.28 |
|---|---|
| [TypeScript] instanceof와 in 타입 가드 (0) | 2025.04.28 |
| [TypeScript] 타입 단언 (0) | 2025.04.22 |
| [TypeScript] 객체 타입 간 호환성 (0) | 2025.04.22 |
| [TypeScript] 객체 타입의 값을 변경할 때 주의사항 : 불변성 (0) | 2025.04.16 |