Arguments 객체
🚩arguments객체에 대한 다른 포스팅에서 이어지는 내용이다!
Arguments객체란?
arguments
객체는 함수를 실행(호출)할 때 입력한 인자들을 가지고 있는 유사배열이다.
arguments
객체는 모든 함수 내에서 이용 가능한 지역 변수이다.
유사배열?
⇒ length
속성과 더불어 0부터 인덱스 된 다른 속성을 가지고 있지만, Array의 forEach
, map
과 같은 내장 메서드를 가지고 있지 않다는 뜻
function foo () {
console.log(arguments);
}
foo(1, 2, 3);
// [object Arguments] { 0: 1, 1: 2, 2: 3}
arguments
객체는 함수를 실행(호출)할 때 입력한 인자들을 가지고 있는 유사배열이다.arguments
객체는 모든 함수 내에서 이용 가능한 지역 변수이다.유사배열?
⇒ length
속성과 더불어 0부터 인덱스 된 다른 속성을 가지고 있지만, Array의 forEach
, map
과 같은 내장 메서드를 가지고 있지 않다는 뜻
function foo () {
console.log(arguments);
}
foo(1, 2, 3);
// [object Arguments] { 0: 1, 1: 2, 2: 3}
왜, 언제 사용하는가?
- 매개변수가 고정되지 않은 경우
- 매개변수의 개수에 따라 다르게 동작할 경우
고정된 개수의 인자를 사용하는 것이 아니라 함수를 실행할 때마다 호출된 인자의 개수를 확인하고 이에 따라 동작하는 경우에 arguments
객체를 사용한다.
예제 코드
function sum(){
var i, _sum = 0;
for(i = 0; i < arguments.length; i++){
document.write(i+' : '+arguments[i]+'<br />');
_sum += arguments[i];
}
return _sum;
}
document.write('result : ' + sum(1,2,3,4));
함수 sum은 인자로 전달된 값을 모두 더해서 리턴하는 함수다. 그런데 1행처럼 함수 sum은 인자에 대한 정의하가 없다. 하지만 마지막 라인에서는 4개의 인자를 함수 sum으로 전달하고 있다.
Author And Source
이 문제에 관하여(Arguments 객체), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@pjeeyoung/Arguments-객체
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
고정된 개수의 인자를 사용하는 것이 아니라 함수를 실행할 때마다 호출된 인자의 개수를 확인하고 이에 따라 동작하는 경우에 arguments
객체를 사용한다.
function sum(){
var i, _sum = 0;
for(i = 0; i < arguments.length; i++){
document.write(i+' : '+arguments[i]+'<br />');
_sum += arguments[i];
}
return _sum;
}
document.write('result : ' + sum(1,2,3,4));
함수 sum은 인자로 전달된 값을 모두 더해서 리턴하는 함수다. 그런데 1행처럼 함수 sum은 인자에 대한 정의하가 없다. 하지만 마지막 라인에서는 4개의 인자를 함수 sum으로 전달하고 있다.
Author And Source
이 문제에 관하여(Arguments 객체), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pjeeyoung/Arguments-객체저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)