내장객체(arguments)

코드깎는 노인·2019년 12월 9일
0

javascript

목록 보기
4/8

자바스크립트에서는 함수를 호출할 때 함수 형식에 맞춰 인자를 넘기지 않더라도 에러가 발생하지 않는다.
정의된 함수의 인자보다 적게 인자를 넘겨주면넘겨지지 않은 인자에 대해서는 undefined 값이 할당되고
정의된 함수의 인자보다 많게 인자를 넘겨주게 되면 초과된 인수는 가볍게 무시된다!

자바스크립트의 이러한 특성 때문에 함수 코드를 작성할 때,호출된 인자의 개수를 확인하고
이에 따라 동작을 다르게 해줘야 할 경우가 있다.

function func (arg1, arg2){
     console.log(arg1, arg2);
}
func( );      // > undefined undefined
func(1);      // > 1 undefined
func(1,2);    // > 1 2
func(1,2,3);  // > 1 2

arguments 객체는 함수를 호출할 때 넘긴 인자들이 배열 형태로 저장된 객체를 의미한다
이 객체는 실제 배열이 아닌 유사 배열 객체이다.

function sum( ){
     var result = 0;
     for(var i=0; i<arguments.legth; i++){
          result += arguments[i];
     }
     return result;
}
 
console.log(sum(1,2,3));     // > 6
console.log(sum(1,2,3,4,5,6,7,8,9)); // > 45
profile
내가 볼려고 만든 블로그

0개의 댓글