javascript - 在没有 else 的情况下使用三元的替代方法

标签 javascript

有没有更简洁的方法来实现这一目标?

const message = `Error message: ${json.email ? json.email[0] : ''}`

最佳答案

实际上有 tc39 提案:optional chaining 。 上线后就很简单了

const message = `Error message: ${json?.email?.[0] || ''} ${json?.password?.[0] || ''} ${json?.username?.[0] || ''}`

“第一阶段”的意思是“似乎正在讨论中”。 您可以在 Babel 的帮助下使用这样的语法。

否则(没有 Babel)你最好使用像 lodash's _.get 这样的帮助器或编写您自己的版本。为什么不使用三元运算符?因为它的可读性很差。

关于javascript - 在没有 else 的情况下使用三元的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50173925/

相关文章:

javascript - 为什么 (false || null) 返回 null,而 (null || false) 返回 false?

javascript原型(prototype)如何创建对象

javascript - 如何按订单运行 JSON 文件和函数

javascript - 如何在浏览器中获取 JS 代码的长期身份提供者 token

javascript - 如何在适用于 Android 平台的 PhoneGap 应用程序中接收即时通知,告知您收件箱中有来自管理员的新消息

javascript - React Hook "useDispatch"在函数 "setApprovedDecision"中调用,它既不是 React 函数组件

javascript - index.HTML 无法识别文件夹中的脚本(chrome)

javascript - x-可编辑多个提交按钮 - 不同的 url 或参数

javascript - 通过映射比较列表中的所有值

javascript - 使用数组中的项目附加选择列表