JavaScript 함수 인수 개체의 마법
6936 단어 tutorialjavascript
TLDR; 특수
arguments
객체는 정의에 아무 것도 지정되지 않은 경우에도 JavaScript 함수에 전달된 모든 인수 목록을 보유합니다. 그리고 창의적인 방법으로 사용할 수 있습니다! 😉"일반" 기능 정의
함수는 일반적으로 필요한 경우 다음 괄호에 지정된 인수와 함께 function
키워드를 통해 정의됩니다. 아래 예에서는 2개의 매개변수가 있는 sayHello
함수를 정의했습니다.
function sayHello(name, business) {
console.log(`Hello ${name} from ${business}!`);
}
sayHello("Paul", "90-10.dev"); // "Hello Paul from 90-10.dev!"
함수 내에서 매개변수는 함수 정의에 지정된 이름을 통해 액세스됩니다(이 경우에는 name
& business
).
인수 객체
그러나 전달된 데이터가 저장되는 특수arguments
객체를 통해 함수에 전달된 데이터에 액세스하는 또 다른 방법이 있습니다.
function sayHello() {
console.log(arguments);
}
sayHello("Paul", "90-10.dev");
콘솔에 다음이 표시됩니다.
Arguments { 0: "Paul", 1: "90-10.dev", ... }
그리고 실제로 arguments
가 객체인지 확인할 수 있습니다.
console.log(typeof arguments); // object
... 그리고 얼마나 많은 인수가 전달되었는지 확인하고 모든 인수를 나열할 수도 있습니다.
function sayHello() {
console.log(arguments.length);
for(let arg of arguments) {
console.log(arg);
}
}
인수 사용
인덱스를 사용하여 배열과 같은 방식으로 인수에 액세스할 수 있습니다.
function sayHello() {
console.log(`Hello ${arguments[0]} from ${arguments[1]}!`);
}
sayHello("Paul", "90-10.dev"); // "Hello Paul from 90-10.dev!"
인수 수정
인수는 즉시 수정할 수도 있습니다.
function sayHello() {
arguments[0] = "World";
console.log(`Hello ${arguments[0]} from ${arguments[1]}!`);
}
sayHello("Paul", "90-10.dev"); // "Hello World from 90-10.dev!"
다음 단계
function sayHello(name, business) {
console.log(`Hello ${name} from ${business}!`);
}
sayHello("Paul", "90-10.dev"); // "Hello Paul from 90-10.dev!"
그러나 전달된 데이터가 저장되는 특수
arguments
객체를 통해 함수에 전달된 데이터에 액세스하는 또 다른 방법이 있습니다.function sayHello() {
console.log(arguments);
}
sayHello("Paul", "90-10.dev");
콘솔에 다음이 표시됩니다.
Arguments { 0: "Paul", 1: "90-10.dev", ... }
그리고 실제로
arguments
가 객체인지 확인할 수 있습니다.console.log(typeof arguments); // object
... 그리고 얼마나 많은 인수가 전달되었는지 확인하고 모든 인수를 나열할 수도 있습니다.
function sayHello() {
console.log(arguments.length);
for(let arg of arguments) {
console.log(arg);
}
}
인수 사용
인덱스를 사용하여 배열과 같은 방식으로 인수에 액세스할 수 있습니다.
function sayHello() {
console.log(`Hello ${arguments[0]} from ${arguments[1]}!`);
}
sayHello("Paul", "90-10.dev"); // "Hello Paul from 90-10.dev!"
인수 수정
인수는 즉시 수정할 수도 있습니다.
function sayHello() {
arguments[0] = "World";
console.log(`Hello ${arguments[0]} from ${arguments[1]}!`);
}
sayHello("Paul", "90-10.dev"); // "Hello World from 90-10.dev!"
다음 단계
function sayHello() {
console.log(`Hello ${arguments[0]} from ${arguments[1]}!`);
}
sayHello("Paul", "90-10.dev"); // "Hello Paul from 90-10.dev!"
인수는 즉시 수정할 수도 있습니다.
function sayHello() {
arguments[0] = "World";
console.log(`Hello ${arguments[0]} from ${arguments[1]}!`);
}
sayHello("Paul", "90-10.dev"); // "Hello World from 90-10.dev!"
다음 단계
Reference
이 문제에 관하여(JavaScript 함수 인수 개체의 마법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/90_10_dev/the-magic-of-javascript-function-arguments-object-4im4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)