ホームページ > ウェブフロントエンド > フロントエンドQ&A > es6 でオブジェクトが空かどうかを判断する方法

es6 でオブジェクトが空かどうかを判断する方法

青灯夜游
リリース: 2022-10-20 16:39:00
オリジナル
4742 人が閲覧しました

判定方法: 1. 判定には「Object.keys()」を使用します。構文は「Object.keys(obj).length === 0&&obj.constructor===Object」で、true を返してそれを示します。 empty; 2 . オブジェクトを json 文字列に変換し、その文字列が "{}" であるかどうかを判断します; 3. isEmptyObject() を使用して、構文が "$.isEmptyObject(data)" であることを判断し、空であることを示す true を返します。

es6 でオブジェクトが空かどうかを判断する方法

このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。

オブジェクトが空かどうかを判断することは、オブジェクトが空のオブジェクトであるかどうかを判断することです。

#ES6 空のオブジェクトかどうかを判断するさまざまなメソッド

1. ES6 Object.keys() メソッドを使用します

Object.keys() は、ES6 の新しいメソッドです。戻り値も、​​オブジェクト自体の列挙可能なすべてのプロパティを含む、オブジェクト内のプロパティ名で構成される配列です (継承したものを除く)(Symbol属性を除く)キー名。

Object.keys(obj).length === 0 && obj.constructor === Object  
// true表示为空对象,false为非空对象
ログイン後にコピー
欠点: 一部のブラウザはこれをサポートしていないため、babel クラス プラグインを通じて ES5 に変換する必要があります。使用例は次のとおりです:

var data = {};

var arr = Object.keys(data);

alert(arr.length == 0);//true 即为空对象

var datas={a:1,b:2};

var aRR = Object.keys(datas);

console.log(aRR) -->   ['a','b']
ログイン後にコピー

2. オブジェクトを json 文字列に変換し、その文字列が "{}"# であるかどうかを判断します。 ##

var data = {};
var b = (JSON.stringify(data) == "{}");
alert(b);//true
ログイン後にコピー
3. for in ループ判定

var obj = {};
var b = function() {
	for(var key in obj) {
		return false;
	}
	return true;
}
alert(b());//true
ログイン後にコピー
#4. jquery の isEmptyObject メソッド

このメソッドは、jquery によって 3 つのメソッド (in 用) をカプセル化します。これを使用する場合、jquery

var data = {};
var b = $.isEmptyObject(data);
alert(b);//true
ログイン後にコピー

5 と Object.getOwnPropertyNames() メソッド
に依存する必要があります。

このメソッドは、Object オブジェクトの getOwnPropertyNames メソッドを使用して、オブジェクト内のプロパティ名を取得し、配列に格納して、配列オブジェクトを返します。オブジェクトが空であるかどうかは、オブジェクトの長さを判断することで判断できます。配列.

注: このメソッドは ie8 と互換性がなく、他のブラウザはテストされていません。

var data = {};
var arr = Object.getOwnPropertyNames(data);
alert(arr.length == 0);//true
ログイン後にコピー

[関連する推奨事項:
JavaScript ビデオ チュートリアル

プログラミング ビデオ ]

以上がes6 でオブジェクトが空かどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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