首页 > 解决方案 > 是否可以解构为已经声明的变量?

问题描述

以下 TypeScript 有效:

const carsAndTrucks = { cars: [], trucks: [] };
const { cars, trucks } = mapDealerInventory();

carsAndTrucks.cars = cars
carsAndTrucks.trucks = trucks

console.log(carsAndTrucks)

function mapDealerInventory() {
    return {cars: [1,2], trucks:['a', 'b']}
}

但是有没有办法避免仅仅为了解构返回值而设置新变量mapDealerInventory()?我希望这是可能的:

{ carsAndTrucks.cars, carsAndTrucks.trucks } = mapDealerInventory() 但它给出了错误“意外令牌=”

因此,如果您首先声明一个具有其属性类型的对象,那么从返回对象(或数组)中的值的函数中设置这些属性的最简洁方法是什么?

标签: javascripttypescriptjavascript-objectsdestructuring

解决方案


这应该有效:

({ cars, trucks } = carsAndTrucks)

PLs也看到了这个答案

如何将对象解构为已定义的变量?


推荐阅读