JavaScript Object.defineProperties()
定义和用法
Object.defineProperties()
方法用于添加或更改对象属性。
Object.defineProperties()
方法允许你更改属性的元数据。
Object.defineProperties()
方法允许你添加 getter 和 setter。
相关方法:
Object.defineProperty()
添加或修改属性。
Object.defineProperties()
添加或修改多个属性。
Object.getOwnPropertyNames()
返回对象的所有属性名。
Object.getOwnPropertyDescriptor()
返回属性的描述符。
Object.getOwnPropertyDescriptors()
返回对象所有属性的描述符。
实例
添加属性:
// 创建一个对象 const person = { firstName: "比尔", lastName: "盖茨" }; // 添加属性 Object.defineProperties(person, { language: { value: "en" }, year: { value: "Hello" } });
语法
Object.defineProperty(object, property, descriptor)
参数
参数 | 描述 |
---|---|
object | 必需。要编辑的对象。 |
property | 必需。要编辑的属性。 |
descriptor |
必需。要添加或更改的属性的描述符:
|
返回值
类型 | 描述 |
---|---|
Object | 返回传入的对象,并应用了更改。 |
浏览器支持
Object.defineProperties()
是 ECMAScript 5 (ES5) 的特性。
自 2013 年 7 月以来,ES5 (JavaScript 2009) 在所有现代浏览器中得到完全支持:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 23 | IE/Edge 11 | Firefox 21 | Safari 6 | Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |