length
속성
length
속성은
배열, 문자열, 유사 배열 객체처럼 인덱스로 항목에 접근할 수 있는 구조에서, 전체 항목의 개수를 숫자 값으로 나타냅니다.
항목의 개수가 없으면 숫자 값은 0
을 나타냅니다.
length
속성을 가지고 있는 객체
- 배열: 배열의 길이(요소의 개수)
- 문자열: 문자열의 길이(문자열의 개수)
- 유사 배열: 객체에 포함된 요소의 개수
배열의 length
속성
배열에서 length
속성은 배열에 포함된 요소의 개수를 숫자 값으로 나타냅니다.
const fruits = ["apple", "orange", "banana"];
console.log(fruits.length); // 3
const emptyArr = [];
console.log(emptyArr.length); // 0
배열에서 length
속성에 대한 더 자세한 설명은 자바스크립트 배열 length 속성 - 배열의 길이 확인을 참고하세요.
문자열의 length
속성
문자열에서 length
속성은 문자열에 포함된 문자의 개수를 숫자 값으로 나타냅니다.
const greeting = "환영합니다. 반값습니다!";
console.log(greeting.length); // 13
const emptyStr = "";
console.log(emptyStr.length); // 0
문자열에서 length
속성에 대한 더 자세한 설명은 자바스크립트 문자열 length 속성 - 문자열의 길이 확인을 참고하세요.
유사 배열의 length
속성
자바스크립트에서는 배열과 유사 배열 객체(Array-like object)가 있습니다. 이들은 실제 배열은 아니지만 유사한 구조를 가집니다. 예를 들어 함수의 arguments
객체나 DOM 컬렉션인 NodeList
가 해당됩니다. 유사 배열은 length
속성을 가지고 있습니다.
예: 함수의 arguments
객체
함수의 arguments
객체는 매개변수의 개수를 숫자 값으로 나타냅니다.
function myFunction(a, b, c) {
console.log(arguments.length);
}
myFunction(); // 0
myFunction(1); // 1
myFunction(1, 2); // 2
myFunction(1, 2, 3); // 3
예: NodeList
객체
NodeList
객체에서는 리스트의 노드 개수를 숫자 값으로 나타냅니다.
const elements = document.querySelectorAll("p");
console.log(elements.length); // 요소의 개수
주의할 점
length
속성은 문자열에서 읽기 전용(immutable)이며, 직접 수정할 수 없습니다.
let str = "Hello, World!";
console.log(str.length); // 13
// length 속성을 수정하려고 시도
str.length = 5;
console.log(str.length); // 여전히 13
console.log(str); // "Hello, World!" 그대로 유지됨