Javascript 在destructure和抛出错误中null是如何返回的

Javascript 在destructure和抛出错误中null是如何返回的,javascript,ecmascript-6,destructuring,Javascript,Ecmascript 6,Destructuring,我有一个JavaScript解构,如下所示: const { data: {currentVal} } = { data: { currentVal: "one" } } (工作方式currentVal为“一”) 如果未定义数据,则我的代码会出现以下错误: error: Uncaught TypeError: Cannot read property 'currentVal' of undefined 也就是说,如果我将代码更改为 const {

我有一个JavaScript解构,如下所示:

const {
  data: {currentVal}
} = {
  data: {
    currentVal: "one"
  }
}
(工作方式currentVal为“一”)

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

error: Uncaught TypeError: Cannot read property 'currentVal' of undefined
也就是说,如果我将代码更改为

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

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

您可以在其中使用默认值

const{data:{currentVal}={}={
数据A:{
currentVal:“一个”
}
}

console.log(currentVal)您可以在内部使用默认值

const{data:{currentVal}={}={
数据A:{
currentVal:“一个”
}
}
console.log(currentVal)