본문 바로가기
갬발자의 프로그래밍/Javascript

Argument 처리 형태

by 코라제이 2019. 12. 22.

arguments 객체가 파라미터를 { key: value } 형태로 저장

function foo(){
    return arguments
};
console.log(foo(1,2,3)); // 0: 1 ,1: 2, 2: 3, length: 3

결과에서 보이듯이 배열의 형태를 하면서 array 형식으로 반환해준다. 이것은 정확이 배열이 아니며 array-like가 된다. 그렇기에 array의 내장 함수를 사용하지 못한다. 하지만

 

function foo(){
    let newArr = Array.prototype.slice.call(arguments);
    return newArr;
};
console.log(foo(1,2,3)); // (3) [1, 2, 3]

위와 같이 배열로 만들어 사용할 수도 있다. array-like이기 때문에 배열 객체의 slice()를 통해 얕은 복사가 가능해진다. 

 

이런 array-like는 많은 곳에서 유용하게 사용된다. 

'갬발자의 프로그래밍 > Javascript' 카테고리의 다른 글

prototype  (0) 2019.12.23
Execution Context  (0) 2019.12.23
호이스팅  (0) 2019.12.20
function  (0) 2019.12.20
스코프 결정 시점 과 함수레벨스코프  (0) 2019.12.20

댓글