【发布时间】:2018-12-31 17:02:55
【问题描述】:
我正在解构map 函数中的对象,对象可能包含对象的某些键的值null。如下所示:
{key1, key2} = {key1 : null,key2:'someval'}
我看到错误提示 key1 未定义。我做错了什么?
【问题讨论】:
-
请发布足够的代码来重现错误。
标签: javascript object ecmascript-6 destructuring
我正在解构map 函数中的对象,对象可能包含对象的某些键的值null。如下所示:
{key1, key2} = {key1 : null,key2:'someval'}
我看到错误提示 key1 未定义。我做错了什么?
【问题讨论】:
标签: javascript object ecmascript-6 destructuring
您需要使用let 或var 声明变量,例如var {key1, key2}
var {key1, key2} = {key1 : null,key2:'someval'};
console.log(key1);
console.log(key2);
使用{key1, key2} 会给你这个错误:
{key1, key2}
【讨论】:
如果没有(或更早)声明和直接赋值,您需要在表达式周围加上括号以进行解构以区分对象括号和块语句。
({ key1, key2 } = { key1: null, key2: 'someval'});
console.log(key1, key2);
【讨论】: