JavaScript 변수 인수 수
JavaScript의 arguments
개체를 통해 인수의 가변 개수를 설정하는 원시적인 방법이 있습니다. 이것은 배열처럼 동작하지만 length
속성만 가지며 배열의 다른 기본 제공 속성과 함께 사용되지 않습니다.
그러나 함수의 인수
는 광범위한 배열에 추가될 수도 있습니다.
함수에서 여러 매개변수를 지정하는 arguments
규칙 외에 rest
매개변수인 ES6 업데이트가 있습니다. 보다 구체적으로, 구문을 관찰하면 개체가 여러 인수를 정의하는 확산
연산자 방식을 허용합니다.
게다가 인수 클러스터와 함께 개별 인수를 설정할 수 있습니다.
우리의 예제 세트는 두 가지 방법이 얼마나 효율적으로 문제를 더 쉽게 만드는지 조사할 것입니다. 하나는 arguments
개체와 함께 있을 것이고 다른 하나는 rest
매개 변수 규칙에 초점을 맞출 것입니다.
arguments
개체를 사용하여 JavaScript에서 매개 변수의 가변 개수 설정
여기에서는 take
함수에서 3
매개변수를 사용합니다. 인수
를 사용하는 일반적인 방법은 이름이 지정된 대로 직접 지정하는 것입니다.
그러나 arguments
개체의 기능을 사용하면 배열 요소처럼 모든 매개 변수를 반복할 수 있습니다. 따라서 여러 인수를 처리하는 방법이 정리됩니다.
코드 조각:
function take(a, b, c) {
for (var i = 0; i < arguments.length; i++) {
if (i == 1) {
arguments[i] = 'I am 2';
}
console.log(arguments[i]);
}
}
take(1, 2, 3);
출력:
알 수 있듯이 arguments
개체는 함수에 언급된 매개 변수의 인스턴스로 작동할 뿐만 아니라 원래 값을 변경할 수도 있습니다. 또한 arguments
개체의 typeof
속성을 통해 매개 변수의 각 유형을 식별할 수 있습니다.
Rest
매개변수를 사용하여 JavaScript에서 여러 인수 설정
Rest
매개변수는 화살표
기능을 처리하는 ES6 조정입니다. 이와 관련하여 자체 경계가 있는 매개변수를 사용할 수 있습니다.
아래 예제의 range1
및 range2
인수와 비슷합니다. 그리고 더 큰 대의를 생각하고자 하는 가치관의 집합체이기도 합니다.
코드 펜스를 확인해 봅시다.
function rest(range1, range2, ...add) {
console.log(range1);
console.log(range2);
return add.reduce((pre, cur) => {
return pre + cur;
});
}
console.log(rest(1, 4, 1, 2, 3, 4));
출력:
이 인스턴스에서는 range1
및 range2
를 시작 및 끝 경계로 설정하고 ...add
에는 range1
에서 range2
까지의 모든 값이 포함됩니다. 이 간단한 작업은 Rest
매개변수가 작동하는 방식을 나타내는 것입니다.