1const box = { x: 10, y: 20 }; 2 3Object.freeze(box); 4 5const shape = box; 6shape.x = 100; 7console.log(shape)
本题为"单选题"
参考答案:
正确选项:B:{ x: 10, y: 20 }
Object.freeze
使得无法添加、删除或修改对象的属性(除非属性的值是另一个对象)。
当我们创建变量shape
并将其设置为等于冻结对象box
时,shape
指向的也是冻结对象。你可以使用Object.isFrozen
检查一个对象是否被冻结,上述情况,Object.isFrozen(shape)
将返回true
。
由于shape
被冻结,并且x
的值不是对象,所以我们不能修改属性x
。 x
仍然等于10
,{x:10,y:20}
被打印。
注意,上述例子我们对属性x
进行修改,可能会导致抛出TypeError异常(最常见但不仅限于严格模式下时)。
最近更新时间:2024-08-03
题库维护不易,您的支持就是我们最大的动力!