ホームページ > ウェブフロントエンド > jsチュートリアル > 空の JavaScript オブジェクトを効果的にテストするにはどうすればよいですか?

空の JavaScript オブジェクトを効果的にテストするにはどうすればよいですか?

DDD
リリース: 2024-12-21 16:37:10
オリジナル
793 人が閲覧しました

How Can I Effectively Test for Empty JavaScript Objects?

空の 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;
}
ログイン後にコピー

人気のあるライブラリ関数:

多くの人気のあるライブラリは、空のオブジェクトをチェックする関数も提供しています:

  • jQuery: $.isEmptyObject({})
  • lodash: _.isEmpty({})
  • アンダースコア: _.isEmpty({})
  • Hoek: Hoek.deepEqual({}, {})
  • ExtJS: Ext. Object.isEmpty({})
  • AngularJS (バージョン1): angular.equals({}, {})
  • ラムダ: R.isEmpty({})

以上が空の JavaScript オブジェクトを効果的にテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート