空の JavaScript オブジェクトのテスト
AJAX 応答を処理するとき、var a = {}; などの空のオブジェクトがよく発生します。オブジェクトが空かどうかを判断することは、さまざまなアプリケーション タスクにとって重要です。
Object.hasOwn() および for...in Loop:
ECMAScript 2022 環境の場合、 Object.hasOwn() メソッドを for...in ループと組み合わせて使用すると、空かどうかを確認できます。オブジェクト:
function isEmpty(obj) { for (const prop in obj) { if (Object.hasOwn(obj, prop)) { return false; } } return true; }
このメソッドは、オブジェクト自身のすべてのプロパティを反復処理し、プロパティが見つかった場合は、空でないオブジェクトを示します。
空のオブジェクトとオブジェクトの区別独自のプロパティがない場合:
{} のようなものを区別する必要がある場合空のオブジェクトや独自のプロパティを持たないオブジェクト (日付など) では、追加の型チェックを実行できます:
function isEmptyObject(value) { if (value == null) { return false; // null or undefined } if (typeof value !== 'object') { return false; // boolean, number, string, etc. } const proto = Object.getPrototypeOf(value); if (proto !== null && proto !== Object.prototype) { return false; // consider 'Object.create(null)' } return isEmpty(value); }
代替メソッド:
そうでない場合ES 2022 の機能にアクセスできる場合は、従来の Object.prototype.hasOwnProperty.call() を使用できます。メソッド:
function isEmpty(obj) { for (var prop in obj) { if (Object.prototype.hasOwnProperty.call(obj, prop)) { return false; } } return true; }
人気のあるライブラリ関数:
多くの人気のあるライブラリは、空のオブジェクトをチェックする関数も提供しています:
以上が空の JavaScript オブジェクトを効果的にテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。