首页 > 解决方案 > 如果未找到,则 JS 中的条件链接为 false

问题描述

在 JS 的可选链中(我认为它没有在当前版本中实现),如果找不到,我可以让它评估为 false 吗?

var obj = {a: {foo: "bar"}}
console.log(obj.a?.foo); //bar
console.log(obj.b?.foo); //this is undefined, I want it to be false

我在 ES6/2015 中阅读了 JavaScript 中的 Optional ChainingNull-safe 属性访问(和条件赋值),但都没有回答我的问题。

标签: javascriptecmascript-6babeljs

解决方案


您可以使用!!or != null(注意 != not !== 来检查 undefined 和 null)

var obj = {a: {foo: "bar"}};
console.log(!!obj.b?.foo);
console.log(obj.b?.foo != null);


推荐阅读