【js】——判断变量是否为空、是否包含某属性,三元表达式(要这个)
1、判断变量是否为空
//定义变量
var obj = {userinfo:{person:{user:"1"}}};
//并不知道userinfo是否为空,也不知道person是否为空,现在需要获取user的值
//判断userinfo不为空,并且person也不为空
if(Object.keys(obj.userinfo).length > 0 && Object.keys(obj.userinfo.person).length > 0){
console.log(obj.userinfo.person.user);
}
2、判断对象中是否包含某个属性
//定义对象
var obj = { userinfo: { person: { user: "1" } } };
查看obj中是否有userinfo属性
console.log(obj.hasOwnProperty("userinfo"));
// 查看userinfo中是否有person属性
console.log(obj.userinfo.hasOwnProperty("person"));
结果
3、三元表达式
//如果obj.userinfo.person不为空,那么取obj.userinfo.person.user得值赋值给obj3
//如果obj.userinfo.person为空,赋值空给obj3
const obj3 = obj.userinfo.person && obj.userinfo.person.user
console.log(!obj3);//true
console.log(obj3);//undefine