[TIL] 가변인수
function sum(a, b, c) {
let s = 0;
for (let i=0; i < arguments.length; i++){
s += arguments[i];
}
return s;
}
const abcSum = sum(10, 20, 30, 40)
console.log(abcSum) // 100
sum
함수에서 매개변수를 몇 개 받도록 되어있는지와 상관없이 arguments
에는 호출 당시의 모든 인자가 다 담긴다.
따라서 sum
함수에 매개변수(a
, b
, c
)는 필요 없게 된다.
// 매개변수 X
function sum() {
let s = 0;
for (let i=0; i < arguments.length; i++){
s += arguments[i];
}
return s;
}
const abcSum = sum(10, 20, 30, 40)
하지만 위와 같은 경우에는 함수 시그니처에 인수와 관련된 정보가 부족하다.
function sum(...args) {
let s = 0;
for (let i=0; i<args.length; i++){
s += args[i];
}
return s;
}
const abcSum = sum(10, 20, 30, 40)
위의 경우 인자의 개수 상관없이 함수가 실행된다. 또한 함수 시그니처에도 인수와 관련된 정보를 담고 있어 가시성이 좋아졌다.
// a, b는 필수값
function sum(a, b, ...args) {
let s = 0;
for (let i=0; i<args.length; i++){
s += args[i];
}
return s;
}
const abcSum = sum(10, 20, 30, 40)
Author And Source
이 문제에 관하여([TIL] 가변인수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@najiexx/TIL-가변인수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)