الفرق بين المراجعتين ل"JavaScript/Symbol/toString"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
 
ط (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}')
 
سطر 54: سطر 54:
 
* مسودة المعيار [https://tc39.github.io/ecma262/#sec-symbol.prototype.tostring ECMAScript Latest Draft].
 
* مسودة المعيار [https://tc39.github.io/ecma262/#sec-symbol.prototype.tostring ECMAScript Latest Draft].
 
* معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-symbol.prototype.tostring ECMAScript 2015 (6th Edition)]‎.  
 
* معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-symbol.prototype.tostring ECMAScript 2015 (6th Edition)]‎.  
[[تصنيف:JavaScript]]
+
[[تصنيف:JavaScript|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Global Objects]]
+
[[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Symbol]]
+
[[تصنيف:JavaScript Symbol|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 15:44، 28 يناير 2018

الدالة Symbol.prototype.toString()‎ تعيد سلسلةً نصيّةً تُمثِّل الكائن Symbol.

البنية العامة

Symbol().toString();

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

سلسلة نصية تمثل الكائن Symbol.

الوصف

يُعيد الكائن Symbol تعريف الدالة toString الموجود في الكائن Object، فهو لا يرث الدالة Object.prototype.toString()‎؛ وستُعيد الدالة toString تمثيلًا نصيًا للرمز.

لا يسمح بإضافة الرموز إلى سلاسل نصية

صحيحٌ أنَّ بإمكاننا استدعاء الدالة toString على الرموز، لكن لا يُسمَح بإضافة سلسلة نصية إلى رمز، وسيرمى الخطأ TypeError كما في المثال الآتي:

Symbol('foo') + 'bar'; // TypeError: Can't convert symbol to string

أمثلة

سنستعرض في الشيفرة الآتية ناتج الدالة toString على رمز محلي (local symbol) ورمز معروف (well-known symbol) ورمز عام (global symbol):

// رمز محلي
Symbol('desc').toString();   // "Symbol(desc)"

// رمز معروف
Symbol.iterator.toString();  // "Symbol(Symbol.iterator)

// رمز عام
Symbol.for('foo').toString() // "Symbol(foo)"

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 38 36 غير مدعومة 25 9

على النقيض من متصفح IE، يدعم متصفح Edge هذه الميزة في الإصدار 12.

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