(1)输出什么?
const box = { x: 10, y: 20 };
Object.freeze(box);
const shape = box;
shape.x = 100;
console.log(shape)
{ x: 10, y: 20 }
分析:Object.freeze
使得无法添加、删除或修改对象的属性(除非属性的值是另一个对象)。
(2)输出什么?
const { name: myName } = { name: "Lydia" };
console.log(name);
ReferenceError
分析:右侧的对象解构属性name
时,我们将其值Lydia
分配给名为myName
的变量。使用{name:myName}
,我们是在告诉JavaScript我们要创建一个名为myName
的新变量,并且其值是右侧对象的name
属性的值。当我们尝试打印name
,一个未定义的变量时,就会引发ReferenceError
。