1、提前检测下是否存在
let z = x && x.y && x.y.z
2、使用ECMAScript新标准,有的项目中可能需要更改下babel的配置来支持新语法,语法使用:
let z = a?.y?.z;
3、引入npm包,例如:lodash/get,使用:
安装 "lodash": "4.17.11",
// 文件中引入
import get from 'lodash/get'
// 获取 a = {y: {z: 11}}
get(a, 'y.z', 0) // 第一个参数是目前对象,第二个参数是目标key的层级结构,第三个参数是当没有找到对应key时的默认值