-
arguments - 함수지향 | 생활코딩Javascript/ECMAScript 2009 (ES5) 2020. 2. 4. 21:10반응형
[출처 : https://opentutorials.org]
arguments
: arguments는 함수안에서 사용할 수 있도록 그 이름이나 특성이 약속되어 있는 일종의 배열이다.
function sum(){ var i, _sum = 0; for(i = 0; i < arguments.length; i++){ document.write(i+':'+arguments[i]+', '); // 0:1, 1:2, 2:3, 3:4 _sum += arguments[i]; } return _sum; // 10 } document.write('result : ' + sum(1,2,3,4));
- 함수에는 arguments라는 변수에 담긴 숨겨진 유사 배열이 있으며, 이 배열에는 함수를 호출할 때 입력한 인자가 담겨있다.
- arguments[0]은 함수로 전달된 첫번째 인자를 알아낼 수 있다.
- rguments.length를 이용해서 함수로 전달된 인자의 개수를 알아낼 수도 있다.
※ arguments는 사실 배열은 아니다. 실제로는 arguments 객체의 인스턴스다.
매개변수(parameter)의 수
- 매개변수와 관련된 두가지 수가 있다. 하나는 함수.length, 다른 하나는 arguments.length이다.
- arguments.length는 함수로 전달된 실제 인자의 수를 의미하고, 함수.length는 함수에 정의된 인자(매개변수)의 수를 의미한다.
function one(arg1){ console.log( 'one.length', one.length, 'arguments', arguments.length ); } one('val1','val2') // one.length 1 arguments 2
반응형'Javascript > ECMAScript 2009 (ES5)' 카테고리의 다른 글
객체지향 프로그래밍 - 객체지향 | 생활코딩 (0) 2020.02.07 함수의 호출 - 함수지향 | 생활코딩 (0) 2020.02.04 클로저 - 함수지향 | 생활코딩 (0) 2020.02.03 값으로서의 함수와 콜백 - 함수지향 | 생활코딩 (0) 2020.02.03 유효범위 - 함수지향 | 생활코딩 (0) 2020.02.02