>웹 프론트엔드 >JS 튜토리얼 >JavaScript 개체의 크기를 어떻게 확인할 수 있나요?

JavaScript 개체의 크기를 어떻게 확인할 수 있나요?

DDD
DDD원래의
2024-11-30 15:50:16127검색

How Can I Determine the Size of a JavaScript Object?

JavaScript 개체 크기 결정:

JavaScript 개체가 얼마나 많은 메모리를 소비하는지 궁금한 적이 있습니까? 성능을 최적화하고 메모리 사용량을 관리하려면 개체의 크기를 이해하는 것이 중요합니다. 불행하게도 JavaScript는 C나 Java의 sizeof() 함수와 같이 객체의 크기를 결정하는 직접적인 방법을 제공하지 않습니다.

그러나 roughSizeOfObject 함수에 구현된 대략적인 방법을 사용할 수 있습니다. 이 함수는 객체, 해당 속성 및 중첩된 객체를 순회하면서 데이터 유형에 따라 대략적인 크기를 계산합니다.

구현:

roughSizeOfObject 함수는 깊이를 따릅니다. 객체를 순회하는 첫 번째 접근 방식입니다. 스택과 방문 배열을 사용하여 처리 중인 객체와 이미 처리된 객체를 추적합니다.

  1. 객체 목록을 초기화하여 방문한 객체를 추적하고 무한 재귀를 방지합니다.
  2. 입력 개체를 스택에 푸시합니다.
  3. 스택이 비어 있지 않은 경우:
    a. 스택에서 값을 팝합니다.
    b. 값 유형에 따라 그에 따라 바이트 수를 늘립니다(부울의 경우 4바이트, 문자열의 경우 문자당 2바이트, 숫자의 경우 8바이트).
    c. 값이 개체이고 아직 방문 목록에 없는 경우 목록에 추가하고 해당 속성을 스택에 푸시합니다.
  4. 최종 바이트 수는 개체 크기의 대략적인 값을 나타냅니다.

사용 예:

다음을 고려하세요. 객체:

var stud = new Student();

속성 사용:

firstName: "firstName";
lastName: "lastName";
marks: new Marks();

다음을 호출하여 이 객체의 대략적인 크기를 얻을 수 있습니다.

const size = roughSizeOfObject(stud);

크기 변수는 속성 및 중첩을 포함하여 스터드 개체에 대한 대략적인 바이트 수를 포함합니다.

제한 사항:

이 방법은 합리적인 크기 추정을 제공하지만 특정 제한 사항이 있습니다.

  • 오헤드를 무시합니다. 메모리 사용량에 영향을 미칠 수 있는 객체 참조 및 기타 구현 세부 정보.
  • 모든 데이터를 정확하게 설명하지는 않습니다. 유형(예: 배열 또는 함수).

이러한 제한에도 불구하고 roughSizeOfObject는 JavaScript 개체 크기를 대략적으로 계산하고 애플리케이션의 메모리 소비를 모니터링하는 데 여전히 유용한 도구입니다.

위 내용은 JavaScript 개체의 크기를 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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