object.defineproperty()方法的使用案例
时间: 2023-05-21 21:00:52 浏览: 79
object.defineProperty() 方法可以用来添加或修改对象的属性。以下是一个使用案例:
```javascript
const person = {};
Object.defineProperty(person, 'name', {
value: 'John',
writable: false, // 不可写
enumerable: true, // 可枚举
configurable: false // 不可配置
});
console.log(person.name); // 输出 "John"
person.name = 'Mike'; // 不会改变属性值
console.log(person.name); // 仍然输出 "John"
delete person.name; // 不会删除属性
console.log(person.name); // 仍然输出 "John"
```
在上面的例子中,我们使用 Object.defineProperty() 方法来定义一个名为 "name" 的属性,并将其添加到 person 对象中。我们还设置了该属性的值为 "John",并将 writable 属性设置为 false,这意味着该属性不可写。我们还将 enumerable 属性设置为 true,这意味着该属性可枚举。最后,我们将 configurable 属性设置为 false,这意味着该属性不可配置,即不能删除或修改该属性。
相关问题
使用js写Object.defineProperty案例
好的,以下是一个使用JavaScript中的Object.defineProperty方法的案例:
```
var obj = {};
var value = '';
Object.defineProperty(obj, 'newProperty', {
get() {
console.log(`Getting the value '${value}'`);
return value;
},
set(newValue) {
console.log(`Setting the value to '${newValue}'`);
value = newValue;
}
});
obj.newProperty = 'Hello World'; // Setting the value to 'Hello World'
console.log(obj.newProperty); // Getting the value 'Hello World'
```
这个案例中,我们定义了一个新的属性`newProperty`,并且使用`get`和`set`方法分别进行读和写操作。在设置属性值时,会有相应的log消息显示。
使用js写一个Object.defineProperty()案例
好的,这是一个使用Object.defineProperty()定义对象属性的简单示例:
```
var person = {name: "John"};
Object.defineProperty(person, "age", {
value: 30,
writable: false
});
console.log(person.age); // 30
person.age = 35; // 尝试更改属性值,但会抛出异常
console.log(person.age); // 30
```
这个例子定义了一个`person`对象,包含一个`name`属性和一个只读的`age`属性。使用`Object.defineProperty()`方法来定义属性时,可以指定一些选项,如该属性的值、是否可写、是否可枚举等。在这个例子中,`age`属性的值为30,只读,无法更改。