arguments 객체란?
arguments 객체 : 함수 호출 시, 전달인자들이 배열 형태로 저장된 객체
함수 호출 시 전달인자와 함께 arguments 객체가 함수내부로 전달됨
function test () {
console.log('arguments[0]', arguments[0])
console.log('arguments[1]', arguments[1])
console.log('arguments[2]', arguments[2])
}
test(1,2)
// arguments[0] 1
// arguments[1] 2
// arguments[2] undefined
test(1,2,3)
// arguments[0] 1
// arguments[1] 2
// arguments[2] 3
arguments 객체의 활용
매개변수의 개수가 정확하게 정해지지 않은 함수 구현 시 사용
함수의 정의보다 더 많은 수의 전달인자가 전달된 경우, 해당 전달인자에 접근 가능
function addNum() {
let sum = 0;
for(let i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
addNum(1,2) // 3
addNum(1,2,3) // 6
addNum(1,2,3,4,5) // 15
arguments 객체의 속성
모든 함수 내에서 이용 가능한 지역변수
배열(Array) 형태의 객체이지만 배열의 아님 → 배열 메소드 사용 불가능 (length 메소드는 예외)
length 메소드를 통한 매개변수의 개수 확인
인덱스를 통한 조회 및 엘리먼트 재할당 가능
arguments 객체를 배열로 변환하기
var args = Array.prototype.slice.call(arguments);
반응형
'프로그래밍 > 알고리즘, 프로그래밍 언어' 카테고리의 다른 글
[코딩테스트] Codility 3-1 TapeEquilibrium (Javascript) (0) | 2022.01.17 |
---|---|
[JavaScript] 십진수를 이진수로 변환하기 (0) | 2022.01.12 |
[JavaScript] 배열에서 중복 엘리먼트 제거하기 (0) | 2021.12.04 |
[JavaScript] 날짜 입력 시 요일을 리턴하는 함수 만들기 (0) | 2021.12.03 |
비동기 데이터 처리 순서 : 콜백함수 vs Promise (0) | 2021.11.11 |
댓글