我有以下预配置
const preloadedConfig = { "configA": null, // either true, false or null is allowed};
然后我在页面加载时进行以下初始化
let finalConfig = preloadedConfig.configA || true;
场景:
预加载配置中的属性可以根据用户的偏好更改为true、false或null
我希望使用短路评估来确定用户对页面加载的选择。如果用户未提供任何选项(null),则默认选项为 true
我的问题:
基于从这里摘录的以下内容:
Falsy 值是那些在布尔上下文中使用时强制为 false 的值,它们是 0、null、未定义、空字符串、NaN,当然还有 false。
评估如下:
true >> evaluted true // ok
null >> evaluted true // ok
false >> evaluted true // the problem area
如果用户提供false的配置选项,则最终评估值将始终为 true,因为它是“假值”。
如果提供的值为 false,我期望的结果是布尔值false。
在使用短路评估并允许 3 种类型的输入值null、true 或 false 的同时,我应该怎么做才能使这项工作正常进行?
暮色呼如
慕标琳琳
FFIVE
相关分类