가변 인수 함수
가변 인수 함수: 함수 파라미터의 갯수를 가변적으로 받자
섹션 제목: “가변 인수 함수: 함수 파라미터의 갯수를 가변적으로 받자” author: Onejay createdAt: 2023-01-23 updatedAt: 2023-01-23가변 인수 함수
섹션 제목: “가변 인수 함수”- 함수를 호출할 때, 전달하는 매개 변수의 갯수를 제한하지 않는 함수를 의미
아래의 Code① 을 보면 merge 함수를 호출할 때, 매개 변수의 갯수가 달라도 실행되는 것을 확인 할 수 있다.
-
Code①
// 여러 개의 배열을 받아 합쳐 하나의 배열로 만드는 함수const merge = (...arr: readonly string[][]): string[] => {let result : string[] = [];for (let idx = 0; idx < arr.length; idx++) {const array: string[] = arr[idx];result = [...result, ...array];}return result;};// 매개 변수 2개const array1: string[] = merge(['Hello', 'World'], ['hello', 'world']);// ["Hello", "World", "hello", "world"]// 매개 변수 3개const array2: string[] = merge(['java', 'script'], ['type', 'script'], ['react', 'vuejs', 'angular']);// ["java", "script", "type", "script", "react", "vuejs", "angular"]
가변 인수 함수 선언 방법
섹션 제목: “가변 인수 함수 선언 방법”- 전개 연산자 (`…`) 을 사용해서 선언할 수 있다.
- Code② + Generic 타입으로 함수 선언
```typescript const merge = <T>(...arr: readonly T[][]): T[] => { let result : T[] = []; for (let idx = 0; idx < arr.length; idx++) { const array: T[] = arr[idx]; result = [...result, ...array]; } return result; }; ```- Refs