在我的Javascript代码,我处理与特性,这种特性为null许多JSON对象:为...在如果不是null或undefined
if (store.departments != null) {
for(var i = 0; i < store.departments.length; i++) {
alert(department.name);
}
}
在移植我的应用程序的CoffeeScript,我想出了以下使用存在操作符的快捷键:
for department in store.departments ? []
alert department.name
这是可以接受的咖啡标记吗?有没有这种情况不能按预期工作?
'if store.departments'和'store.departments?'是否有区别? – trebuchet
此外,'alert department.name'仅供参考 - 实际应用程序有一整块处理代码 – trebuchet
@trebuchet是的,存在差异 - 存在操作符显式检查null/undefined,所以falsy值像' “”'会返回true('“”?== true',即使'!!“”== false“)。它还避免了未定义变量的错误(即使未定义“x”,x也不会抛出错误)。 –