JavaScript オブジェクトのサイズの決定
はじめに
JavaScript オブジェクトのメモリ使用量の推定JavaScript オブジェクトは困難な作業になる可能性があります。この記事では、JavaScript オブジェクトのサイズの取得に関する最近の問い合わせにヒントを得て、JavaScript でオブジェクトのおおよそのサイズを決定する包括的な方法を検討します。
問題への対処
Marks と Student という 2 つの関数を定義し、新しい Student をインスタンス化する次の JavaScript コードについて考えてみましょう。 object:
function Marks() { this.maxMarks = 100; } function Student() { this.firstName = "firstName"; this.lastName = "lastName"; this.marks = new Marks(); } var stud = new Student();
オブジェクト サイズの推定
JavaScript には、C の sizeof() 演算子に似た組み込み関数がありません。ただし、スタッド オブジェクトのサイズを推定するカスタム関数を考案できます。
function roughSizeOfObject(object) { const objectList = []; const stack = [object]; let bytes = 0; while (stack.length) { const value = stack.pop(); switch (typeof value) { case 'boolean': bytes += 4; break; case 'string': bytes += value.length * 2; break; case 'number': bytes += 8; break; case 'object': if (!objectList.includes(value)) { objectList.push(value); for (const prop in value) { if (value.hasOwnProperty(prop)) { stack.push(value[prop]); } } } break; } } return bytes; }
この関数は、プリミティブ値のサイズ (ブール値の場合は 4 バイト、ブール値の場合は 8 バイト) を考慮して、オブジェクトを再帰的に走査します。数値)と文字列の長さ(バイト単位)(2 を乗算)。また、無限再帰を防ぐためにオブジェクト リストも維持します。
結論
この関数を使用すると、配列やカスタム オブジェクトを含む任意の JavaScript オブジェクトのサイズを概算できます。 。この方法は、特にパフォーマンスが重要なアプリケーションでメモリ使用量を最適化するのに役立ちます。これは正確な値ではなく推定値を提供しますが、JavaScript のオブジェクトのメモリ フットプリントに関する貴重な洞察を提供します。
以上がメモリ内の JavaScript オブジェクトのおおよそのサイズを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。