如何解构newValue = value.value?

时间:2018-08-21 06:26:51

标签: javascript ecmascript-6

这只是琐事/好奇心,因为我无数次遇到这种情况。

是否可以缩短/取消以下类型的作业?

newValue = value.value

天真的,我尝试了newValue = {value},但是它不起作用,因为该语法通常用于从具有相同键名的对象中分解变量。

2 个答案:

答案 0 :(得分:7)

使用此语法来解构和重命名属性,这将从对象获取值并将其重命名为变量::

newValue

var {value: newValue} = value

答案 1 :(得分:2)

您可以将object property assignment pattern [YDKJS: ES6 & Beyond]destructuring assignment一起使用。

var value = { value: 42 },
    { value: newValue } = value;

console.log(newValue);

如果不像varletconst那样用作表达式,则需要用括号将大括号与block语句区分开。

var value = { value: 42 },
    newValue;

({ value: newValue } = value);

console.log(newValue);