Object.defineProperty
时间: 2024-01-02 12:50:15 浏览: 27
JS对象方法——Object.defineProperty()
`Object.defineProperty` 是 JavaScript 中的一个方法,用于在一个对象上定义一个新属性或修改一个已有的属性,并指定该属性的特性。该方法接受三个参数:
1. `obj`:需要定义属性的目标对象。
2. `prop`:需要定义或修改的属性名。
3. `descriptor`:属性的描述符,可以包含以下可选属性:
- `value`:属性的值,默认为 `undefined`。
- `writable`:是否可写,默认为 `false`。
- `enumerable`:是否可枚举,默认为 `false`。
- `configurable`:是否可配置,默认为 `false`。
- `get`:获取属性值的函数。
- `set`:设置属性值的函数。
例如,以下代码定义了一个名为 `person` 的对象,并在其中定义了一个名为 `name` 的属性:
```javascript
const person = {};
Object.defineProperty(person, 'name', {
value: 'John',
writable: true,
enumerable: true,
configurable: true
});
```
在上述代码中,`person` 对象上定义了一个名为 `name` 的属性,并指定了该属性的值为 `'John'`,该属性可写、可枚举、可配置。
阅读全文