>웹 프론트엔드 >JS 튜토리얼 >JavaScript 개체의 길이를 효율적으로 결정하려면 어떻게 해야 합니까?

JavaScript 개체의 길이를 효율적으로 결정하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-16 16:12:16760검색

How Do I Efficiently Determine the Length of a JavaScript Object?

JavaScript 객체의 길이 가져오기

JavaScript에서 객체는 동적이며 변경 가능합니다. 즉, 프로그램 실행 중에 객체의 내용이 변경될 수 있습니다. 객체에 포함된 속성 수를 나타내는 객체의 길이를 결정하는 것은 프로그래밍 논리 및 데이터 조작에 필요한 경우가 많습니다.

기존 접근 방식: 객체 크기 대 속성 열거

전통적으로 JavaScript 개발자에게는 문자열 길이를 얻기 위한 두 가지 주요 옵션이 있었습니다. object:

  1. 객체 크기: Object.prototype.toString()을 사용하여 객체의 문자열 표현을 가져오고 이를 쉼표로 분할하여 결과 배열 길이를 계산합니다. 이 접근 방식은 오류가 발생하기 쉬우며 중첩되거나 복잡한 객체에 대해서는 신뢰할 수 없습니다.
  2. 속성 열거: 길이를 추적하기 위해 루프를 사용하고 카운터를 증가시켜 객체의 속성을 반복합니다. 그러나 이를 위해서는 수동 반복이 필요했고 프로토타입 상속이나 객체에 대한 구문 설탕 추가에 대해 강력하지 않았습니다.

최신 모범 사례: Object.keys()

ECMAScript 5(ES5)가 도입되고 널리 채택됨에 따라 객체의 길이를 가져오는 가장 선호되고 신뢰할 수 있는 방법은 Object.keys()입니다. 이 내장 메소드는 객체의 열거 가능한 속성 이름의 배열을 반환하며 해당 길이는 다음과 같이 직접 얻을 수 있습니다.

const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;

const objectLength = Object.keys(myObject).length;
// objectLength will be 3

기호 속성 계산

그러나 , Object.keys()는 Symbol()을 사용하여 객체에 추가된 고유 식별자인 기호 속성을 설명하지 않는다는 점에 유의하는 것이 중요합니다. 기능. 기호 속성을 처리하려면 기호 속성 이름의 배열을 반환하고 해당 길이를 Object.keys()의 결과에 추가하는 Object.getOwnPropertySymbols()를 사용할 수 있습니다.

const propOwn = Object.getOwnPropertyNames(person);
const propSymb = Object.getOwnPropertySymbols(person);

const objectLength = propOwn.length + propSymb.length;

결론

Object.keys()를 사용하는 것은 JavaScript 객체의 길이를 결정하는 가장 안정적이고 다양한 방법입니다. 모든 객체 속성의 정확한 개수를 얻으려면 필요한 경우 기호 속성을 고려하는 것이 중요합니다. 이 접근 방식을 활용하면 개발자는 애플리케이션에서 JavaScript 개체를 효율적으로 관리하고 조작할 수 있습니다.

위 내용은 JavaScript 개체의 길이를 효율적으로 결정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.