如何在销毁与抛出错误中返回null

问题描述

我有一个这样的JavaScript分解器可以正常工作:

const {
  data: {currentVal}
} = {
  data: {
    currentVal: "one"
  }
}

(工作表示currentVal为“ 1”)

如果未定义数据,我的代码将出现以下错误

error: Uncaught TypeError: Cannot read property 'currentVal' of undefined

也就是说,如果我将代码更改为

const {
  dataxxx: {currentVal}
} = {
  dataa: {
    currentVal: "one"
  }
}

有一些“?”我可以使用的类型语法,以便currentVal最终未定义,而不是抛出错误

解决方法

您可以在destructuring

中使用默认值

const { data: {currentVal} = {}} = {
  dataa: {
    currentVal: "one"
  }
}
console.log(currentVal);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...