📅  最后修改于: 2023-12-03 15:41:06.046000             🧑  作者: Mango
在开发 JavaScript 应用时,经常需要测试对象是否为空。空对象在 JavaScript 中可以表示为 null
或 undefined
,但两者的含义并不完全相同。null
表示对象为空,而 undefined
表示对象不存在。
typeof
使用 typeof
可以检查变量是否被声明并赋值,并且可以检查该变量赋的值的类型。
// 声明但未赋值的变量
let x;
console.log(typeof x); // "undefined"
// 赋值为 null 的变量
let y = null;
console.log(typeof y); // "object"
Object.keys
Object.keys
方法返回对象中的属性名,如果对象为空,则返回一个空数组。
let obj = {};
let keys = Object.keys(obj);
console.log(keys.length === 0); // true
JSON.stringify
JSON.stringify
可以将 JavaScript 对象转换为 JSON 字符串。如果对象为空,则转换后的字符串为空对象 {}
。
let obj = {};
let jsonString = JSON.stringify(obj);
console.log(jsonString === "{}"); // true
以上方法都可以用来测试 JavaScript 对象是否为空。根据实际需求,选择合适的方法进行测试即可。