"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 가변 개수의 인수를 JavaScript 함수에 어떻게 전달할 수 있나요?

가변 개수의 인수를 JavaScript 함수에 어떻게 전달할 수 있나요?

2024년 11월 18일에 게시됨
검색:392

How Can I Pass a Variable Number of Arguments to JavaScript Functions?

JavaScript 함수에 가변 개수의 인수 전달

JavaScript는 배열에서 가변 개수의 인수를 보내는 기능을 포함하여 함수에 인수를 전달할 수 있는 유연성을 제공합니다.

인수를 통한 변수 Arity

Python과 마찬가지로 JavaScript에는 함수에 전달된 모든 인수를 나타내는 특수 인수 개체가 있습니다. 이 객체에는 각 인수가 색인 생성 가능한 속성으로 포함되어 있습니다. 예:

function func() {
  console.log(arguments.length);
  for (arg in arguments) console.log(arg);
}

func('a', 'b', 'c', 'd'); // prints 4 and 'a', 'b', 'c', 'd'

배열을 인수로 전달

그러나 배열을 함수에 인수로 직접 전달하는 것은 그렇지 않습니다. 원하는 결과를 달성하십시오. 대신 배열 자체가 단일 인수로 처리됩니다. 배열을 개별 인수로 전달하려면 apply() 메서드를 사용할 수 있습니다:

var arr = ['a', 'b', 'c'];

function func() {
  console.log(this); // 'test'
  console.log(arguments.length); // 3

  for (var i = 0; i 

이렇게 하면 'test', 3, 'a', 'b' 및 'c'가 인쇄됩니다.

확산 구문(ES6 )

ES6 이후 JavaScript에서는 동일한 결과를 얻기 위한 보다 간결한 방법을 제공하는 확산 구문(...)을 도입했습니다.

func(...arr);

이것은 arr의 요소를 함수에 전달된 개별 인수로 확장합니다.

확산 구문을 사용하는 명명된 매개변수(ES6)

확산 구문과 명명된 매개변수를 결합하여 다음을 지정할 수도 있습니다. 일부 인수는 배열로 처리되어야 합니다:

function func(first, second, ...theRest) {
  //...
}

결론

JavaScript에서는 인수 객체를 통해 또는 ES6 이상에서는 스프레드 구문을 사용하여 다양한 개수의 인수를 함수에 전달할 수 있습니다. 이러한 유연성 덕분에 임의 개수의 입력을 처리할 수 있는 일반 함수 생성과 같은 다양한 사용 사례가 가능해졌습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3