티스토리 뷰

[개발]/JavaScript

Arguments

kiki14 2023. 7. 4. 16:00

Arguments

특징

  1. 유사배열이다.
  2. forEach(), map(), filter() 등.. 배열 메서드를 사용할 수 없다.
    1. Array.from(Arguments) 처럼 배열로 변환하여 사용한다.

 

어떤 경우에 쓰이나?

1. 가변 인자 함수

함수가 가변 인자를 받을 수 있는 경우.
arguments 객체를 사용하여 모든 인수에 접근할 수 있다. 

예를 들어, 함수가 임의의 개수의 숫자를 받아 합계를 계산하는 경우

function calculateSum() {
    let sum = 0;
    for (let i = 0; i < arguments.length; i++) {
    	sum += arguments[i];
    }
    return sum;
}

calculateSum(1, 2, 3); // 6
calculateSum(4, 5, 6, 7, 8); // 30

 

2. 배열 변환

arguments 객체를 배열로 변환하여 배열 메서드를 사용하고자 할 때, 'Array.from()' 이나 전개 연산자 (...) 를 사용하여 배열로 변환할 수 있다.

 

function convertToArray() {
    const argsArray = Array.from(arguments);
    // 또는 const argsArray = [...arguments];
    console.log(argsArray);
}

convertToArray(1, 2, 3, 4); // [1, 2, 3, 4]

 

aruments 객체는 함수에 전달된 인수들을 처리하는 유용한 방법을 제공하지는 한다.

그러나 일반적으로는 ... 문법을 사용하여 가변 인자를 처리하는 것이 더 선호된다.

... 문법은 명시적이고 가독성이 좋으며, 배열로 바로 사용이 가능하기 때문이다. 

하지만, arguments 객체는 ES5 이전의 코드 호환성이나 특정 상황에서 유용하게 사용할 수 있다.

'[개발] > JavaScript' 카테고리의 다른 글

CommonJS is not going away (번역)  (0) 2023.07.06
JavaScript SDK(JavaScript Software Development Kit)  (0) 2023.07.04
map VS. forEach  (0) 2023.07.04
URLSearchParams  (0) 2023.06.27
truthy 한 경우: 데이터가 존재하는 경우  (0) 2023.06.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함