[JS] 배열 length 프로퍼티

daybyday·2020년 12월 26일
0

Javascript

목록 보기
6/15
post-thumbnail

Array.length


let emptyArr = [];
console.log(emptyArr[0]) //undefined

emptyArr[0] = 200;
emptyArr[4] = 'apple';
emptyArr[10] = 'ten';

console.log(emptyArr);


emptyArr에 세 개의 값만 할당했지만 console.log(emptyArr)의 결과는 11개의 배열 요소 값이 출력된다. 그 이유는 자바스크립트가 배열의 크기를 현재 배열 인덱스 중 가장 큰 값을 기준으로 정하기 때문이다.

length 프로퍼티는 배열 내에서 가장 큰 인덱스 값에 1을 더한 값이다.


  • 배열의 제일 큰 인덱스 값을 바꿔준다면 그에 따라 length 값도 바뀐다.
emptyArr[100] = 100;
console.log(emptyArr); // 101


  • length 프로퍼티는 명시적으로 값을 변경할 수도 있다.
emptyArr.length = 50;
console.log(emptyArr.length); // 50

emptyArr.length = 5;
console.log(emptyArr.length); // 5
conso.log(empyArr);

length 프로퍼티를 변경했을 때, 프로퍼티 값을 벗어나는 요소는 삭제된다.



push() 메서드

push 메서드는 인수로 넘어온 항목을 배열의 맨 끝에 추가하는 자바스크립트 표준 배열 메서드이다. push 메서드는 현재 배열의 length 값 위치에 새로운 원소값을 추가한다.


let arr =['a','b','c']'

arr.push('d');
console.log(arr); //['a','b','c','d']

arr.length = 5;
arr.push('e');

console.log(arr); //['a','b','c','d',undefined,'e']

arr 배열의 length를 5로 바꾸고 push 메서드를 실행하면 arr[5]에 값이 추가되는 것을 알 수 있다.

이를 통해 배열 메서드가 length 프로퍼티를 기반으로 동작하고 있다는 것을 알 수 있다.

0개의 댓글