如果某个键的值可能为null,则分解对象

时间:2018-07-24 07:02:56

标签: javascript object ecmascript-6 destructuring

我正在map函数中破坏对象,该对象的某些键可能包含值null。如下所示:

{key1, key2} = {key1 : null,key2:'someval'}

我看到错误消息,提示未定义key1。我在做什么错了?

2 个答案:

答案 0 :(得分:1)

您需要使用letvarvar {key1, key2}声明变量

var {key1, key2} = {key1 : null,key2:'someval'};
console.log(key1);
console.log(key2);

使用{key1, key2}会给您该错误:

{key1, key2}

答案 1 :(得分:0)

没有(或更早的)声明和直接赋值,您需要在表达式周围加上括号以进行结构分解,以将对象括号与block语句区分开。

({ key1, key2 } = { key1: null, key2: 'someval'});

console.log(key1, key2);