如果使用Object.freeze的话 该如何使用 给出实例
时间: 2024-09-13 08:02:18 浏览: 38
deep-freeze:在对象和函数上递归Object.freeze()
`Object.freeze` 方法用于冻结一个对象,这意味着一旦对象被冻结,就无法再对其添加新的属性,无法删除已有属性,也无法更改属性的可枚举性、可配置性或可写性,以及无法更改属性的值。简而言之,冻结对象是不可变的。
使用 `Object.freeze` 方法的语法如下:
```javascript
Object.freeze(obj);
```
这里 `obj` 是你希望冻结的对象。
下面是一个使用 `Object.freeze` 的实例:
```javascript
// 创建一个对象
const obj = {
property: 'value'
};
// 冻结对象
Object.freeze(obj);
// 尝试添加新属性
obj.newProperty = 'newValue';
console.log(obj.newProperty); // undefined,因为对象已被冻结,不能添加新属性
// 尝试删除已有属性
delete obj.property;
console.log(obj.property); // "value",因为对象已被冻结,不能删除属性
// 尝试修改属性值
obj.property = 'new value';
console.log(obj.property); // "value",因为对象已被冻结,不能更改属性值
// 尝试更改属性特性
Object.defineProperty(obj, 'property', {
writable: false
});
obj.property = 'another value';
console.log(obj.property); // "value",对象属性特性已被冻结,不能更改属性值
```
在这个例子中,你可以看到一旦对象被 `Object.freeze` 方法冻结,对它的任何修改操作都不会生效。
阅读全文