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