Frontend/Javascript
Function
간지나제
2021. 2. 23. 22:29
javascript는 함수 정의시 매개변수에 대한 형식을 명시하지 않는다.
함수를 호출할 때 정의된 매개변수와 전달인자의 개수가 일치하지 않더라도 호출이 가능하다.
function sum (x, y, z) {
return x+y+z;
}
sum(10); // NaN
sum(10, 20); // NaN
sum(10, 20, 30); // 60
function sum (x, y, z) {
let result = 0;
for(let i=0; i<arguments.length; i++) {
result += arguments[i];
}
}
함수의 프로퍼티인 arguments를 이용하면 위와 같이 호출해도 NaN이 아닌 원하는 결과를 얻을 수 있다.
function minus(totalValue, ...minusValues) {
for(let value of minusValues) {
...
}
}
minusValues와 같은 매개변수를 rest parameter라고 하고 매개변수 목록 마지막에 선언해야한다.
ES6부터 적용되었으며 임의의 수를 갖는 매개변수를 선언할 수 있다.