javascript - 如果选项对象不存在,则将 boolean 值设置为默认值

标签 javascript boolean javascript-objects

我想设置一个 boolean 值,我要么从选项对象的属性中获取,要么如果未定义则设置默认值。

const raw = options.rawOutput;

如果未设置 options.rawOutput,则默认值为 true。 问题是:选项对象可能根本不存在。

我正在寻找比这样更优雅的解决方案

if (options) {
  if (options.rawOutput) {
    raw = rawOutput;
  }
} else {
   raw = true;
}

最佳答案

您可以检查 options 是否存在以及属性 rawOutput 是否存在,然后取该值,否则取 true

raw = options && 'rawOutput' in options ? options.rawOutput : true;

或相同但没有conditional (ternary) operator ?: .

raw = !options || !('rawOutput' in options) || options.rawOutput;

关于javascript - 如果选项对象不存在,则将 boolean 值设置为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50713764/

相关文章:

json - 如何从 perl 脚本发送 boolean 值而不将它们转换为字符串

ruby-on-rails - 在Rails ActiveRecord中分配给 boolean 字段时如何转换值?

javascript - (重复?)当将对象传递给 JavaScript 中的函数时

javascript - 如何从已注册的事件发送 JavaScript 对象?

javascript - Shippo:在其他函数中使用生成的交易的 label_url 变量

javascript - 当在同一页面上使用多个绘图时,Plotly.js 只有一个绘图可以工作

Python - 确定井字游戏的赢家

javascript - 使用 Java 脚本和多维数组

javascript - 如何将 Canvas 的原点更改为中心?

javascript - 尝试访问 json 列表时显示文本 'Undefined'