有没有办法检查一个对象是否存在并且在一行中有一个子对象
Is there way to check if an object exists and has a child in a single line?
有没有一种方法可以检查req.user.premium
是否为真,而不必检查req.user
是否存在,或者有没有方法可以将其简化为一行?
我试过只检查req.user.premium
,但如果req.user
为空,则会抛出错误,因为req.user
是undefined
,req.user && req.user.premium
也是如此。
if(req.user){
if(req.user.premium){
console.log('Is premium');
}
}
一行(假设您仍然console.log为空val):
console.log((req.user && req.user.premium) ? 'Is premium' : '');
OR 2行(1条语句行):
if(req.user && req.user.premium)
console.log("is premium");
编辑:
假设req对象未定义。。。这样做:
一行,(假设您仍然console.log为空val):
console.log((req && req.user && req.user.premium) ? 'Is premium' : '');
OR 2行(1条语句行):
if(req && req.user && req.user.premium)
console.log("is premium");
如果第一个条件(req)未定义,则不会评估第二个和第三个条件-AKA:短路)
if(req.user && req.user.premium){
console.log('Is premium');
}
这和一样简单
你也可以做:
var premium = false;
try{
premium = req.user.premium;
}
catch(err){
}
相关文章:
- 实例化一个javascript对象并在一行中填充其属性
- 有没有办法检查一个对象是否存在并且在一行中有一个子对象
- 如何知道JS对象属性的值在哪一行发生了更改
- 使用XmlHttpResponse对象一次读取一行
- 在一行中生成 ajax 对象
- 挖空.js按钮读取对象列表中的一行
- 如何在 JavaScript 中将对象值从本地存储提取到每一行
- 使用 jQuery 将对象绑定到一行
- iCanHaz.js+胡子没有't渲染数据对象中的第一行
- 如何基于字段从javascript对象中删除一行并重新排列对象
- 使用Parse.com保存查询中的对象,限制为第一行
- javascript中的对象卡在csv文件的最后一行
- 在一行中使用键:值创建对象
- 在一行中使用对象循环和数组循环
- 如何在一行中初始化和返回对象
- 用对象键在一行中声明和分配函数对象
- 将对象映射到一行中的key=value字符串
- 如何构造Date对象实例并在同一行调用其函数
- 用于一行中的多个对象的事件侦听器
- 如何在一行上移动对象并删除旧对象,以便它不会在HTML5 Canvas中留下尾部