일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스알고리즘
- 코딩
- next.js
- 프로그래머스 코테
- 개발자
- 코테공부
- Redux-Toolkit
- 프로그래머스코테
- 프로그래머스코딩테스트
- 1일1코테
- 알고리즘문제
- 정처기기출
- 정보처리기사
- 자바스크립트
- 프로그래머스 코딩테스트
- 프로그래머스 Lv.0
- html
- 알고리즘스터디
- 프로그래밍
- 프로그래머스 레벨0
- 코딩테스트
- 코테준비
- CSS
- 알고리즘공부
- 프로그래머스 알고리즘
- 코테스터디
- 프로그래머스
- js
- next.js 에러
- mysql
- Today
- Total
계발하는 개발자
[JS] length 프로퍼티 | 함수객체.length vs arguments.length 본문
[JS] length 프로퍼티 | 함수객체.length vs arguments.length
dev_genie 2023. 2. 8. 23:48코드를 작성하다보면 매개변수나 배열의 길이값을 가져와야 하는 경우가 생깁니다.
오늘은 함수객체와 arguments의 length 프로퍼티를 중점적으로 정리해보겠습니다.
(이외 더 많은 프로퍼티들은 차차 다루도록 하겠읍니담..)
먼저 length 프로퍼티라고 해서 다 같은 공간에서 길이값을 가져오는 것이 아님을 알아야 합니다.
함수객체 .length 프로퍼티
함수 객체의 length 프로퍼티는 함수를 정의할 때 선언한 매개변수의 개수를 가리킵니다.
// Case 1
function qu() {}
console.log(qu.length); // 0
// Case 2
function ohr(i) {
return i+i
}
console.log(ohr.length); // 1
// Case 3
function milk(a,b) {
return a*b;
}
console.log(milk.length); // 2
위와 같이 출력됨을 확인할 수 있습니다.
arguments .length 프로퍼티
사용자가 제공하는 배열 인자의 개수를 가리킵니다.
arguments는 배열과 유사한 사용법을 가지고 있어서 함수객체의 인자가 몇 개인지를 알 수 있습니다.
function txt(){
for(var i = 0; i < arguments.length; i++){
console.log(i+':'+arguments[i]);
}
};
console.log('result:'+ txt(1,2,3,4));
위 예제에서 유추할 수 있는 arguments 유사배열 객체의 인자는 총 4개가 되겠네요(1,2,3,4 => 0~3까지 총 4개)
만약 txt함수의 인자가 1,2,3 이었다면 개수는 총 3이 될 것입니다.
여기서 유사 배열 객체란 length 프로퍼티를 가진 객체로서, for문 안을 순회할 수 있는 객체를 말합니다.
사용자가 전달한 인자의 수만큼 for문을 돌아라 라는 의미로 해석할 수 있습니다.
: (콜론)기호를 기준으로 우측에 있는 값이 arguments의 배열 인덱스번호[i] 1~4 입니다.
좌측에 있는 변수 i 값은 0부터 arguments 배열갯수 미만으로 돌아라 했으니까
0~3까지의 수가 들어간 것을 확인할 수 있습니다.
위 프로퍼티 요소들은 크게 어려움은 없어서 여기까지 정리하겠습니다 :)
*이해에 도움이 됐던 강의 & 자료 출처:
https://youtu.be/i2tPgVFLGcA - 생활코딩 / arguments란?
모던자바스크립트 Deep Dive - 이웅모 저
'📌 Language > Javascript' 카테고리의 다른 글
[JS] form을 submit할 때 새로고침 방지하기 (0) | 2023.02.12 |
---|---|
[JS] contains() 메소드 알아보기 | (feat. includes() 메소드 비교) (4) | 2023.02.11 |
[JS] 자바스크립트 타이머 함수 | setInterval, setTimeout (0) | 2023.02.08 |
[JS] 이벤트 처리(event handling) | addEventListener, onEvent (0) | 2023.02.06 |
[JS] return문의 이해 (console.log와 return 명령의 차이) (2) | 2023.02.05 |
dev_genie
@dev_genie
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!