JavaScript判定対象が空である方法
5389 ワード
記事の目次背景 メソッド .JqueryのisEmptyObject .node .判断対象属性個数 1背景
expressのフレームワークでは、bodyパラメータなどを処理していますが、あるオブジェクトのパラメータが入っていない場合が多く、プログラムではそのオブジェクトの属性を操作しています.異常な捕獲がないと、下記のコードのようなあたごの原因になります.
2の方法
Javascirpt原生は対象が空かどうかを判断する方法を提供していません.資料を調べたら、ブラウザでJQueryの方法で判断できます.しかし、nodeの環境では自分で方法を実現して判断する必要があります.
2.1 JqueryのisEmptyObject
Jquery isemptyObject方法の実現を見ることができます.
2.3判定対象属性個数
インターフェーステストを頻繁に書いている場合は、戻る対象をチェックする必要があります.上のfor inに対して方法を書いて、対象メンバーの個数を判断します.
expressのフレームワークでは、bodyパラメータなどを処理していますが、あるオブジェクトのパラメータが入っていない場合が多く、プログラムではそのオブジェクトの属性を操作しています.異常な捕獲がないと、下記のコードのようなあたごの原因になります.
let item = {
high:23,
width:32
}
let test = undefined;
console.info(item.high);
try{
console.info(test.high);
}catch(e){
console.info(e)
}
console.info("hello node");
try catch文を削除すると、hello node文が根本的にプログラムから逃げられなくなります.したがって、オブジェクトの属性を操作する前に、オブジェクトが空かどうかを判断します.2の方法
Javascirpt原生は対象が空かどうかを判断する方法を提供していません.資料を調べたら、ブラウザでJQueryの方法で判断できます.しかし、nodeの環境では自分で方法を実現して判断する必要があります.
2.1 JqueryのisEmptyObject
$.isEmptyObject({})
true
$.isEmptyObject({foo:1})
False
2.2 nodeJquery isemptyObject方法の実現を見ることができます.
function isEmptyObject(e) {
var t;
for (t in e)
return !1;
return !0
}
for...inサイクルは、オブジェクト自身と継承可能なエニュメレート・属性を巡回します.2.3判定対象属性個数
インターフェーステストを頻繁に書いている場合は、戻る対象をチェックする必要があります.上のfor inに対して方法を書いて、対象メンバーの個数を判断します.
let checkObjectKeyNum = function(object, targetNum){
let objectPrototypeCount = 0;
for (let i in object){
objectPrototypeCount++;
}
return expect(objectPrototypeCount).to.be.equal(targetNum);
}