-
함수 타입Typescript 2023. 1. 16. 18:21
Optional Parameter
- 함수의 파라미터가 들어오지 않을 것 같으면 "?"(옵셔널 파라미터)를 사용한다.
// JS function add2(n1, n2) { if (!n2) return n1; return n1 + n2; } // TS function add2(n1: number, n2?: number): number { if (!n2) return n1; return n1 + n2; } const a2 = add2(1, 2); const b2 = add2(10, 20, 30); // Error, js라면 30은 undifined가 나올것이다. const c2 = add2(10); function add2(n1?: number, n2: number): number { // 맨 앞자리는 불가 if (!n2) return n1; return n1 + n2; } function add2(n1: number, n2?: number, n3?: number): number { if (!n2) return n1; return n1 + n2; }
Default Parameter
- 타입스크립트의 특성은 아니고, 자바스크립트에도 있는 특성? 기능 이다.
- 아래 코드에서 n2 파라미터가 들어오지 않는다면 초기값 0으로 할당된다.
// JS function add3(n1, n2 = 0) { if (!n2) return n1; return n1 + n2; } const a3 = add3(1, 2); const c3 = add3(10);
// TS function add3(n1: number, n2: number = 0): number { if (!n2) return n1; return n1 + n2; } const a3 = add3(1, 2); const c3 = add3(10);
Rest Parameter
- 이것도 자바스크립트에 있는 기능이다.
- 할당되고 남은 파라미터들을 배열로 만들어주는 기능
// JS function add4(n1, ...nums) { // n1에는 10이 정상적으로 할당되고, 나머지는 // let nums = [20,30,40] 으로 값을 받아준다. let totalOfNums = 0; for (let key in nums) { totalOfNums += nums[key]; } return n1 + totalOfNums; } const result = add4(10, 20, 30, 40);
// TS function add4(n1: number, ...nums: number[]): number { let totalOfNums = 0; for (let key in nums) { totalOfNums += nums[key]; } return n1 + totalOfNums; } const result = add4(10, 20, 30, 40);
'Typescript' 카테고리의 다른 글
enum 타입, (0) 2023.01.16 기본 타입 (0) 2023.01.16 Typescript 설치 및 세팅 (0) 2023.01.16