判断一个对象空对象
for in:遍历自己和原型上的可枚举属性(不包括 Symbol 属性) Object.keys:只遍历自己的可枚举属性 Object.getOwnPropertyNames:遍历自己的所有属性,包括不可枚举属性,但不包括 Symbol 属性 Object.getOwnPropertySymbols:遍历自己的所有 Symbol 属性,包括不可枚举的 Symbol 属性 Reflect.ownKeys:遍历自己的所有属性,无论是否可枚举,无论是否是 Symbol 属性
Reflect.ownKeys 方法是最全能,最准确的一个方法。
function isEmpty(object) {
return Reflect.ownKeys(object).length === 0;
}
如何判断Symbol类型?
- Reflect.ownKeys,可以判断Symbol类型
Reflect.ownKeys 遍历自己的所有属性,无论是否可枚举,无论是否是 Symbol 属性