[Js]オブジェクトが空のオブジェクトかどうかを判断する.
6182 ワード
目次 1.Object.keys判断 .Object.getOwn PropertyNames 1.Object.keys判断
Es 6のでは、オブジェクト内の属性の長さが0 かどうかを判断することができます.はまた、オブジェクトの構造関数が の大部分の場合、 は、 である.
Es 6の
Object.keys
方法を使用して、空のオブジェクトを確認します.配列に戻ります.メンバーはパラメータオブジェクト自身の全てのアクセス可能な属性のキーです. <script>
let myObj = {
name: " ",
age: '1024',
sex: ' '
}
console.log(Object.keys(myObj)); // ["name", "age", "sex"]
</script>
Object
であるかどうかを判断する必要があります.他の構造関数であれば、new Stringなどもtrueを得ることができます.ここでは、オブジェクトが空のオブジェクトかどうかを判断したいので、前の条件と同じです. <script>
let myObj1 = {
name: " ",
age: '1024',
sex: ' '
}
let myObj2 = {
}
// true, false
function judgeObj(obj) {
return (Object.keys(obj).length === 0 && obj.constructor === Object)
}
console.log(judgeObj(myObj1)); // false
</script>
2.Object.getOwn PropertyNamesObject.getOwnPropertyNames()
とObject.keys(obj)
の機能は同じである.Object.getOwnPropertyNames
が戻ってきたのは、オブジェクトのすべての属性であり、Object.keys(obj)
が戻ってきたのは、エニュメレート・属性、つまり、属性下のenumerable:false <script>
let myObj1 = {
name: " ",
age: '1024',
sex: ' '
}
let myObj2 = {
}
// true, false
function judgeObj(obj) {
return Object.getOwnPropertyNames(obj).length === 0
}
console.log(judgeObj(myObj2));
</script>