说我有对象:
const obj = {
foo: 'bar'
}
然后我将foo
分配给这样的变量:
let {foo} = obj
是否可以更改变量名称?我已尝试像使用“导入”一样使用as
,但这不起作用。
let {foo as bar} = obj
我确定我遗漏了一些明显的东西,但是我的google-fu今天使我失败了。
答案 0 :(得分:4)
如果只是单个属性,最简单的方法是不使用解构:
let bar = obj.foo;
但是,如果要使用解构(也许有多个属性),请提供属性的名称,冒号和变量/常量的名称:
let {foo: bar} = obj;
示例:
const obj = {
foo: 'bar'
};
let {foo: bar} = obj;
console.log(bar);
请记住,对象解构语法完全反映了对象初始化程序的语法。在对象初始化程序中,foo: bar
将bar
中的值分配给属性foo
:
const obj = {foo: bar}; // Property `foo` is assigned the value from variable `bar`
因此在对象解构中,foo: bar
将属性foo
的值分配给变量bar
:
let {foo: bar} = obj; // Variable `bar` is assigned the value from property `foo`