高级前端
js
【Q528】解构赋值以下对象,他们的值是多少

解构赋值以下对象,他们的值是多少

更多描述


const { a: aa, b } = { a: 3, b: 4 };

分别打印 aaab,他们的值是多少


function move({ x = 0, y = 0 } = {}) {
  return [x, y];
}
 
function move({ x, y } = { x: 0, y: 0 }) {
  return [x, y];
}

以下几个表达式返回的结果是什么

move({ x: 3, y: 8 });
move({ x: 3 });
move({});
move();

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 541 (opens in a new tab)

Author 回答者: shfshanyue (opens in a new tab)

const { a: aa, b } = { a: 3, b: 4 };
 
// 其中 a 报错、aa 为3, b 为 4

Author 回答者: Magicgigi (opens in a new tab)

//这种写法x,y有默认值
function move({x = 0, y = 0} = {}) {
  return [x, y];
}
//这种写法x,y没有默认值
function move({x, y} = { x: 0, y: 0 }) {
  return [x, y];
}
move({x: 3, y: 8});
[3,8] [3,8]
move({x: 3})
[3,0] [3,undefined]
move({});
[0,0] [undefined,undefined]
move();
没传参,解构赋值
[0,0] [0,0]