Lev*_*Lev 7 javascript ecmascript-6
假设我想像这样解构我的函数参数
const func = ({field: {subField}}) => subField;
Run Code Online (Sandbox Code Playgroud)
如果字段是undefined或者null?如何防止此错误抛出?
您可以使用默认值:
const func = ({field: {subField} = {}}) => subField;
Run Code Online (Sandbox Code Playgroud)
它只适用于{field: undefined},而不是null作为一个值.为此,我只是使用
const func = ({field}) => field == null ? null : field.subField;
// or if you don't care about getting both null or undefined respectively
const func = ({field}) => field && field.subField;
Run Code Online (Sandbox Code Playgroud)
另请参阅javascript test以了解常规解决方案的嵌套对象键的存在.