【问题标题】:How to use or operator on object when having error发生错误时如何在对象上使用或运算符
【发布时间】:2021-10-19 05:03:58
【问题描述】:

所以我尝试为错误消息提供 null,但它显示

 if(err){
            res.status(403).json({
              emailErr: err.errors.email.message || null,
              userErr: err.errors.username.message || null,
            });

TypeError: Cannot read property 'message' of undefined

【问题讨论】:

  • 仔细阅读错误信息。该错误表明emailusernameundefined|| null 仅在 .message 的内容是假值时才有效

标签: javascript node.js error-handling


【解决方案1】:

通常,如果您尝试访问 undefined 上的属性,就像在此查找链中一样,JavaScript 会出错。你可以使用optional chaining 告诉 JavaScript 期待它:

if (err) {
    res.status(403).json({
        emailErr: err.errors.email?.message || null,
        userErr: err.errors.username?.message || null,
    });
}

【讨论】:

  • 哇,它有效。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-04
  • 2017-09-15
  • 2020-01-27
相关资源
最近更新 更多