IT공부

[지식루프 IT공부] arguments 객체는 배열 메서드를 사용할 수 있을까?

지식루프 2025. 3. 18. 11:00
728x90
반응형

arguments는 배열이 아니므로, 일반적인 배열 메서드(map, forEach, filter 등)를 직접 사용할 수 없다.
✅ 하지만 배열로 변환하면 사용할 수 있다.

 

1️⃣ arguments는 배열이 아닌 유사 배열 객체 (Array-like Object)

 
📌 즉, arguments는 length 속성이 있고, 인덱스를 통해 접근 가능하지만, 배열(Array)이 아니다!
 
 
2️⃣ 배열 메서드 사용 불가능한 예시
 
 
📌 에러 발생! → arguments.map is not a function
이유: arguments는 배열이 아니라서 map()을 직접 사용할 수 없음.
 

3️⃣ arguments를 배열로 변환하는 방법 (배열 메서드 사용 가능하게 만들기)

✅ arguments를 배열로 변환하면 map, forEach, filter 등 사용 가능!

🔹 방법 1: Array.from()

 

📌 Array.from(arguments) → arguments를 배열로 변환함.


🔹 방법 2: 전개 연산자 (...)

 

 

🎯 결론

  • arguments는 유사 배열 객체라서 length, 인덱스 접근은 가능하지만, map, filter 같은 배열 메서드는 직접 사용할 수 없다.
  • 배열 메서드를 쓰려면 Array.from(arguments) 또는 ...args(전개 연산자) 를 사용하여 배열로 변환해야 한다.
  • 최신 JavaScript에서는 arguments보다 ...args(rest parameter)를 사용하는 것이 더 좋다. 🚀

 

 

 

 

 
 
 
728x90
반응형