问题描述
给定的对象值可以是任何一个。
const obj = null
const obj = { param : null}
const obj = { param : {innerParam: 10}}
我想从参数const { param : {innerParam} ={}} =obj
中提取innerParam
但这会引发错误无法解构“ {}”的属性“ innerParam”,因为它为null。是否存在通过在解构时将参数分配给默认对象的解决方案。
const { param = {} } =obj;
const { innerParam } = param || {};
解决方法
const { innerParam } = (obj.param || {});
您仍然需要检查是否定义了innerParam。您还可以添加如下默认值:
const innerParam = ((obj.param || {}).innerParam) || "default";
,
const { innerParam } = obj?.param