基于表达式的解构对象
Destructuring object based on expression
我想知道在销毁对象时是否可以使用动态表达式:
假设:
//basic de-structure example
var a = {b: 1};
var {b: c} = a; // stores 1 in c
//what I want to do
var { (b > 0): isItHigher = false} = a; // want isItHigher to be true
这可能是一种我不知道的语法,但本质上,我想根据原始对象 属性 计算表达式并将其存储在新变量中。这可能吗?
您可以使用 destructuring defaults 来完成。默认值还可以包括基于您已经提取的值的表达式:
var a = { b: 1 };
var { b, isItHigher = b > 0 } = a;
console.log(isItHigher);
:此方法还创建了一个变量b
,它可能会根据上下文不必要地污染命名空间。
我想知道在销毁对象时是否可以使用动态表达式:
假设:
//basic de-structure example
var a = {b: 1};
var {b: c} = a; // stores 1 in c
//what I want to do
var { (b > 0): isItHigher = false} = a; // want isItHigher to be true
这可能是一种我不知道的语法,但本质上,我想根据原始对象 属性 计算表达式并将其存储在新变量中。这可能吗?
您可以使用 destructuring defaults 来完成。默认值还可以包括基于您已经提取的值的表达式:
var a = { b: 1 };
var { b, isItHigher = b > 0 } = a;
console.log(isItHigher);
b
,它可能会根据上下文不必要地污染命名空间。