상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
교회에서의 여성의 역할은 무엇인가요?
교회에서의 성경적 원리에 따른 신앙의 전파는 어떻게 이루어지나요?
족저근막염은 수술이 필요한 경우가 있나요?
수면장애를 치료하기 위한 행동 요법은 무엇인가요?
불면증을 앓고 있는 사람의 가족이나 친구가 어떻게 도와줄 수 있나요?
불면증과 관련된 신체적 증상은 어떤 것이 있나요?
넷플릭스에서 시청 기록을 삭제하는 방법은 무엇인가요?
넷플릭스의 콘텐츠 추천 기능은 어떻게 개인화되나요?
넷플릭스의 콘텐츠 제작에 대한 사회적 책임은 무엇인가요?
어도비의 디자인 워크플로우는 어떻게 구성되나요?
농구에서 경기 시간은 어떻게 나누어져 있나요?
농구에서 '경기 중 의사소통'의 중요성은 무엇인가요?
Previous
Next
수정하기 - 자바스크립트에서 arguments 객체란 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트에서 `arguments` 객체는 함수 내부에서 사용되는 특별한 객체로, 함수에 전달된 인수(arguments)를 <a href='https://sangseek.com/sangseeks/배열/ko'>배열</a>과 유사한 형태로 제공합니다. 이 객체는 함수가 호출될 때 자동으로 생성되며, 함수의 매개변수(parameter)와는 <a href='https://sangseek.com/sangseeks/별개/ko'>별개</a>로, 함수에 전달된 모든 인수에 접근할 수 있는 방법을 제공합니다. `arguments` 객체의 특징 1. 배열과 유사한 형태 : `arguments` 객체는 배열처럼 인수에 접근할 수 있는 인덱스를 가지고 있지만, 실제 배열은 아닙니다. 즉, `arguments` 객체는 `length` 속성을 가지고 있으며, 인수에 접근하기 위해 인덱스를 사용할 수 있지만, 배열 메서드(예: `push`, `pop`, `forEach` 등)를 사용할 수 없습니다. 2. 동적 인수 처리 : `arguments` 객체를 사용하면 함수가 호출될 때 전달된 인수의 개수가 변할 수 있는 경우에 유용합니다. 예를 들어, 매개변수를 고정하지 않고 다양한 수의 인수를 처리할 수 있습니다. 3. ES6 이후의 변화 : ES6(ECMAScript 2015)에서는 `rest` 매개변수 문법이 도입되었습니다. 이 문법을 사용하면 `arguments` 객체를 사용하는 대신, 배열을 직접 사용할 수 있습니다. 예를 들어, `function(...args)`와 같이 정의하면 `args`는 전달된 모든 인수를 포함하는 배열이 됩니다. `arguments` 객체의 사용 예 다음은 `arguments` 객체를 사용하는 간단한 예입니다: ```javascript function sum() { let total = 0; for (let i = 0; i < arguments.length; i++) { total += arguments[i]; } return total; } console.log(sum(1, 2, 3)); // 6 console.log(sum(10, 20, 30, 40)); // 100 ``` 위의 예제에서 `sum` 함수는 전달된 모든 인수를 더하여 결과를 반환합니다. `arguments.length`를 사용하여 전달된 인수의 개수를 확인하고, 각 인수에 접근하여 합계를 계산합니다. `arguments` 객체의 한계 1. 배열 메서드 사용 불가 : `arguments` 객체는 배열이 아니기 때문에 배열 메서드를 직접 사용할 수 없습니다. 이를 해결하기 위해 `Array.prototype.slice.call(arguments)`를 사용하여 배열로 변환할 수 있습니다. ```javascript function logArguments() { const argsArray = Array.prototype.slice.call(arguments); console.log(argsArray); } logArguments(1, 2, 3); // [1, 2, 3] ``` 2. <a href='https://sangseek.com/sangseeks/화살표/ko'>화살표</a> 함수에서의 사용 불가 : <a href='https://sangseek.com/sangseeks/화살표 함수/ko'>화살표 함수</a>에서는 `arguments` 객체를 사용할 수 없습니다. 화살표 함수는 자신만의 `arguments` 객체를 가지지 않기 때문에, 일반 <a href='https://sangseek.com/sangseeks/함수 표현식/ko'>함수 표현식</a>을 사용해야 합니다. 3. <a href='https://sangseek.com/sangseeks/명시적/ko'>명시적</a> 매개변수와의 혼동 : `arguments` 객체는 함수의 매개변수와는 별개로 동작하기 때문에, 매개변수를 명시적으로 정의한 경우와 혼동할 수 있습니다. 예를 들어, 매개변수와 `arguments` 객체의 인덱스가 다를 수 있습니다. 결론 `arguments` 객체는 자바스크립트에서 함수의 인수에 접근할 수 있는 유용한 도구입니다. 그러나 ES6 이후에는 `rest` 매개변수와 같은 새로운 문법이 도입되어 더 <a href='https://sangseek.com/sangseeks/직관/ko'>직관</a>적이고 유연한 방법으로 인수를 처리할 수 있게 되었습니다. 따라서 최신 자바스크립트 코드를 작성할 때는 `arguments` 객체보다는 `rest` 매개변수를 사용하는 것이 권장됩니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기