试图确定对象的“内部”属性是否存在

时间:2019-06-23 10:11:57

标签: javascript object properties

我想出了一个解决方案,有没有更好的方法可以用JavaScript解决这个问题

if (error.response && error.response.data && error.response.data.error) {
  console.log(error.response.data.error);
} else {
  console.log('Sorry, Something went wrong!');
}

1 个答案:

答案 0 :(得分:0)

现在,您就是这样做的。

在某个时候,optional chaining proposal可能会进展。使用该提案中的语法,您可以编写以下代码:

// NOT VALID SYNTAX YET (A STAGE 2 PROPOSAL)
if (error.response?.data?.error) {
  console.log(error.response.data.error);
} else {
  console.log('Sorry, Something went wrong!');
}

今天,如果您使用Babel进行转换并使用@babel/plugin-proposal-optional-chaining插件,则可以使用该语法。

Live Example on Babel's REPL