Function.prototype.toString()
الدالة Function.prototype.toString()
تعيد سلسلةً نصيةً لتمثيل الشيفرة المصدرية للدالة.
البنية العامة
function.toString()
القيمة المعادة
سلسلة نصية تُمثِّل الشيفرة المصدرية للدالة.
الوصف
يُعيد الكائن Function
تعريف الدالة toString
الموروثة من الكائن Object
؛ وستُعيد هذه الدالة، عند استدعائها على الدوال التي عرَّفها المستخدم، سلسلةً نصيةً للشيفرة المصدرية التي تُستخدَم لتعريف الدوال.
ستستدعي JavaScript هذه الدالة تلقائيًا عند محاولة استخدام الدالة كقيمة نصية، مثلًا: عند إضافة سلسلة نصية إلى الدالة.
استدعاء الدالة toString
على دوال الكائنات المُضمَّنة في اللغة أو على الدوال المُنشَأة عبر الدالة Function.prototype.bind
سيؤدي إلى إعادة native function string بما يشبه ما يلي:
"function () {\n [native code]\n}"
إذا استدعينا الدالة toString
على دالة مُعرَّفة عبر الدالة البانية Function
، فستُعيد الشيفرة المصدرية للدالة المُنشَأة تحت اسم "anonymous"
.
أمثلة
سنورد في الشيفرة الآتية شكل تعريف الدالة وبجوارها السلسلة النصية المُعادة من استدعاء الدالة Function.prototype.toString
:
function f(){} //"function f(){}"
class A { a(){} } // "class A { a(){} }"
function* g(){} // "function* g(){}"
a => a // "a => a"
({ a(){} }.a) // "a(){}"
({ *a(){} }.a) // "*a(){}"
({ [0](){} }[0]) // "[0](){}"
Object.getOwnPropertyDescriptor({
get a(){}
}, "a").get // "get a(){}"
Object.getOwnPropertyDescriptor({
set a(x){}
}, "a").set // "set a(x){}"
Function.prototype.toString // "function toString() { [native code] }"
(function f(){}.bind(0)) // "function () { [native code] }"
Function("a", "b") // "function anonymous(a\n) {\nb\n}"
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 1st Edition.