NATIVE

settings_applicationsObject  >   settings_applicationsArray  >   settings_applications[[Prototype]]

NATIVE

Editing
  • account_tree
  • bug_report

Numberlength

배열의 길이를 읽거나 설정할 수 있다.

설명

보통 배열의 원소 개수라고 알고 있는데 이것은 잘못된 것이다. 즉 다음과 같은 코드를 테스트해 보면 length는 원소 개수가 아니라는 것을 알 수 있다.

length는 원소의 개수가 아니라 만들어진 데이터를 담을 수 있는 슬롯(slot)의 개수라고 할 수 있다. 슬롯은 실제 데이터를 담는 것과 무관하게 인덱스를 통해서 순차적으로 생성이 된다.

구문

형식
array.length

속성 명세

명세
분류설명
configurableno
enumerableno
writableyes

기술 문서

배열의 길이는 보통 배열의 원소의 개수를 의미하는 것처럼 보이지만 사실은 인덱스에 따라 값이 정해진다. 예를 들어서 다음의 코드는 length가 실제 배열의 원소와 관계없이 마지막 인덱스를 기준으로 배열의 길이를 갖는다.

var arr = [];
arr[0] = "apple";
arr[10] = "banana";

console.log(arr.length); // 11을 출력

따라서 length 프로퍼티를 설정하는 경우에는 실제 배열의 길이보다 작게 설정하면 설정한 길이보다 큰 범위에 있는 배열의 항목은 제거가 된다.

var arr = [];
arr[0] = "apple";
arr[10] = "banana";
console.log(arr.length); // 11을 출력

arr.length = 10;
console.log(arr[10]); // undefined 출력

버전 명세

ECMAScript 2024(15th Edition)
#sec-properties-of-array-instances-length

지원 웹브라우저