您可以通过数组解构来做到这一点,即:
const complexPoint = [1,2];
let x, y;
[x,y] = complexPoint;
至于对象解构,等效语法将不起作用,因为它会抛出解释器:
const complexPoint = {x:1,y:2};
let x, y;
{x,y} = complexPoint; // THIS WOULD NOT WORK
解决方法可能是:
const complexPoint = {x:1,y:2};
let x, y;
[x,y] = [complexPoint.x, complexPoint.y];
// Or
[x,y] = Object.values(complexPoint);
UPDATE:
看来您可以通过将赋值包含在括号中并将其转换为表达式来将对象解构为现有变量。所以这应该有效:
const complexPoint = {x:1,y:2};
let x, y;
({x,y} = complexPoint); // THIS WILL WORK