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

مطلوب. وصف الخاصية التي يتم إضافة أو تعديلها:

  • value: value
  • writable : true|false
  • enumerable : true|false
  • configurable : true|false
  • get : function
  • set : function

القيمة المقدمة

نوع وصف
Object يعود بالموارد التي تم إدخالها، ويطبق التغييرات.

دعم المتصفح

Object.defineProperties() هي خصائص ECMAScript 5 (ES5).

من يوليو 2013، يتم دعم ES5 (JavaScript 2009) بشكل كامل في جميع المتصفحات الحديثة:

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
سبتمبر 2012 سبتمبر 2012 أبريل 2013 يوليو 2012 يوليو 2013