在Javascript中调用嵌套对象值之前,确保其存在的最佳方法

在Javascript中调用嵌套对象值之前,确保其存在的最佳方法,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,例如: data = {info: {name: john}} 在执行以下操作时,我如何确保: const name=data.info.name 该名称存在,我不会得到:无法读取未定义的值名称 现在我正在做: let name if(!!data && data.info && data.info.name){ name = data.info.name } 但是它看起来很混乱,想知道是否有更好的方法您不需要语句,如果语句,您可以直接指定表达式:

例如:

data = {info: {name: john}}
在执行以下操作时,我如何确保:

const name=data.info.name

名称
存在,我不会得到:
无法读取未定义的值名称

现在我正在做:

let name 

if(!!data && data.info && data.info.name){
  name = data.info.name
}

但是它看起来很混乱,想知道是否有更好的方法

您不需要
语句,如果
语句,您可以直接指定表达式:

const data={info:{name:'john'};
const name=data&&data.info&&data.info.name
console.log(名称);
常数data2={};
const name2=data2&&data2.info&&data2.info.name;

console.log(name2)
你能使用lodash吗?lodash提供可选链接可能有一天会是一件好事。你应该在标记的副本上注明+1.