一、js空对象的定义与判断
JavaScript 是一种弱类型语言,因此可以使用不同类型的值来定义空对象。空对象通常指没有属性或者属性值为 undefined 的对象。
判断是否为空对象可以通过 Object.keys 和 JSON.stringify 两个方法:
let obj = {}; console.log(Object.keys(obj).length === 0); // true console.log(JSON.stringify(obj) === '{}'); // true
以上两个方法都可以根据对象的键来判断对象是否为空。
二、js空对象等于false与true
空对象在逻辑上等于 false,因此可以将其用作条件语句的判断条件:
let obj = {}; if (obj) { console.log('空对象'); } else { console.log('非空对象'); } // 输出结果为:非空对象
当将空对象使用“!”运算符取反时,得到的结果为 true。因为取反运算符会将空对象转化为布尔值,而空对象转化为布尔值是 false,再次取反得到 true。
let obj = {}; console.log(!obj); // true
三、js空对象怎么判断
判断对象是否为空的方法已经在第一部分介绍过了,可以使用 Object.keys 和 JSON.stringify 两个方法。
如果想要判断一个对象是否为 null 或者 undefined,可以使用“===”运算符:
let obj = null; console.log(obj === null); // true console.log(obj === undefined); // false
四、js空对象添加属性
空对象可以动态添加属性和属性值,只需要给对象指定一个新的属性名,并设置对应的属性值即可:
let obj = {}; obj.name = 'Tom'; console.log(obj.name); // Tom
这个例子表明空对象可以动态扩展属性。
五、js空对象是false吗
空对象在逻辑上等于 false,但是在类型上是一个对象,而非布尔值。因此可以通过 typeof 运算符来判断空对象的类型:
let obj = {}; console.log(typeof obj); // object
以上代码表明空对象类型是 object,并非 boolean。
六、js空对象是真还是假
空对象在逻辑上等于 false,但在类型上是一个对象。因此可以使用“==”运算符将空对象转化为布尔值并进行比较:
let obj = {}; console.log(obj == false); // true console.log(obj == true); // false
以上代码表明空对象在逻辑上等于 false,但在类型上是一个对象,并非布尔值。
七、js空对象转化为布尔值与字符串
空对象可以通过隐式转换或显示转换为布尔值:
let obj = {}; console.log(Boolean(obj)); // false console.log(!!obj); // false console.log(String(obj)); // [object Object]
以上代码表明空对象可以通过 Boolean 将其转化为布尔值 false,或通过 String 将其转化为字符串 “[object Object]”。