Object.getOwnPropertySymbols()‎

من موسوعة حسوب
مراجعة 15:41، 28 يناير 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

الدالة 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 هذه الميزة.

مصادر ومواصفات