javascript オブジェクトが空であるか判定する方法
- 作成日 2020.08.30
- 更新日 2022.10.17
- javascript
- javascript
javascriptで、オブジェクトの中が空であるかを判定するサンプルコードを記述してます。keyの長さと論理否定演算子「!」を利用して判定します。
環境
- OS windows11 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 106.0.5249.103
判定方法
「key」の長さを取得して、長さが存在しない「0」であれば空であると判定します
// 空のオブジェクトを用意
const obj = {};
console.log( Object.keys(obj).length === 0 ); // true
// 要素があればfalse
console.log( Object.keys({ "a":"1", "b":"2", "c":"3"}).length === 0 ); // false
// 長さを取得した結果は以下となります
console.log(Object.keys({}).length); // 0
console.log(Object.keys({ "a":"1", "b":"2", "c":"3"}).length); // 3
また、「key」の長さを取得して「0」であれば「0」は真偽値で「false」扱いとなるので、「!」で反転させることで判定することが可能です。
!Object.keys(obj).length;
「!Object.keys(obj).length」を使用した例
console.log(!Object.keys({}).length); // true
console.log(!Object.keys({ "a":"1", "b":"2", "c":"3"}).length); // false
console.log(Object.keys({}).length); // 0
console.log(Object.keys({ "a":"1", "b":"2", "c":"3"}).length); // 3
console.log(!0); // true
console.log(!1); // false
console.log(!3); // false
空のオブジェクトと比較
空のオブジェクトと比較した場合は、結果は「false」になります。
※オブジェクトの場合は参照先が比較の対象になるため
// 空のオブジェクトを用意
const obj = {};
console.log( obj === {} ); // false
console.log( obj == {} ); // false
なので「 {} 」同士を比較すると「 false 」を指定します。
// 空のオブジェクトを用意
const obj = {};
console.log( obj === obj ); // true
console.log( obj == {} ); // false
console.log( {} == {} ); // false
-
前の記事
docker composeを利用して「EtherCalc」を構築するまでの手順 2020.08.30
-
次の記事
javascript 配列で重複する値の最後のインデックス番号を取得する 2020.08.31
コメントを書く