JavaScript:获取属性时检查对象是否为空或未定义

标签 javascript ecmascript-6

我想简单地这样做:

const someProp = someObj ? someObj.someProp : undefined;

在 Ruby 中,我们可以使用 & 运算符。

some_prop = some_obj&.some_prop

最佳答案

您正在寻找optional chaining operator目前这也是第一阶段提案:

const someProp = someObj?.someProp;

但是,目前您可以编写一个辅助函数:

function opt(obj, prop) {
  return obj ? obj.prop : null;
}

const someProp = opt(someObj, 'someProp');

关于JavaScript:获取属性时检查对象是否为空或未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50968317/

相关文章:

javascript - .map() 函数返回一个数组数组而不是对象数组

javascript - Babeljs 为正则表达式 {m,n} 量词产生意外错误

javascript - eclipse 。添加文件而不将其复制到工作区

javascript - 如何在我的 Web 应用程序中的 Javascript 文件中获取加密的密码?

javascript - 为什么 `throw` 在 ES6 箭头函数中无效?

javascript - 使用内置 API 检查文字对象是否包含在其他对象中

javascript - 为什么在定义带引号或不带引号的 JavaScript 对象文字时会有所不同?

javascript - D3 - 如何更新树布局中的隐藏分支

javascript - 使用 jQuery 单击按钮时无法显示输入中的文本

javascript - IIFE 在 ES6 之后有何用处?