Object.getOwnPropertySymbols()
الدالة Object.getOwnPropertySymbols()
تُعيد مصفوفةً فيها جميع الخاصيات الرمزية (symbol properties) الموجودة مباشرةً في الكائن المعطي.
البنية العامة
Object.getOwnPropertySymbols(obj)
obj
الكائن الذي نريد الحصول على جميع خاصياته الرمزية.
القيمة المعادة
مصفوفة فيها جميع الخاصيات الرمزية (symbol properties) التابعة مباشرةً للكائن المعطي.
الوصف
بما يشبه الدالة Object.getOwnPropertyNames()
، يمكن الحصول على جميع الخاصيات الرمزية لكائنٍ ما باستخدام هذه الدالة؛ لكن لاحظ أنَّ الدالة Object.getOwnPropertyNames()
لا تُعيد الخاصيات الرمزية وإنما ستعيد الخاصيات النصية فقط.
ولمّا كانت جميع الكائنات لا تحتوي على خاصيات رمزية عند تهيئتها، فستُعيد الدالة Object.getOwnPropertySymbols()
مصفوفةً فارغةً ما لم تضبط خاصيات رمزية على الكائن.
أمثلة
سنستخدم الدالة Object.getOwnPropertySymbols()
للحصول على مصفوفة تحتوي على الخاصيات الرمزية في الكائن obj
في المثال الآتي:
var obj = {};
var a = Symbol('a');
var b = Symbol.for('b');
obj[a] = 'localSymbol';
obj[b] = 'globalSymbol';
var objectSymbols = Object.getOwnPropertySymbols(obj);
console.log(objectSymbols.length); // 2
console.log(objectSymbols); // [Symbol(a), Symbol(b)]
console.log(objectSymbols[0]); // Symbol(a)
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 38 | 36 | غير مدعومة | 25 | 9 |
على النقيض من متصفح IE، يدعم متصفح Edge هذه الميزة.
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).