728x90
반응형
❌ arguments는 배열이 아니므로, 일반적인 배열 메서드(map, forEach, filter 등)를 직접 사용할 수 없다.
✅ 하지만 배열로 변환하면 사용할 수 있다.
1️⃣ arguments는 배열이 아닌 유사 배열 객체 (Array-like Object)

📌 즉, arguments는 length 속성이 있고, 인덱스를 통해 접근 가능하지만, 배열(Array)이 아니다!
2️⃣ 배열 메서드 사용 불가능한 예시

📌 에러 발생! → arguments.map is not a function
이유: arguments는 배열이 아니라서 map()을 직접 사용할 수 없음.
이유: 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
반응형
'IT공부' 카테고리의 다른 글
맥북/윈도우 vscode 단축키 (2) | 2025.03.24 |
---|---|
[지식루프 IT공부] JavaScript 배열의 기본 메서드 정리 (0) | 2025.03.18 |
[지식루프 IT공부] 함수선언과 함수표현식의 차이 (0) | 2025.03.16 |
hoisting 퀴즈 (0) | 2025.03.16 |
[지식루프 IT공부] classList란? (0) | 2025.03.13 |