String.fromCharCode()‎

من موسوعة حسوب

الدالة String.fromCharCode()‎ الساكنة (static) تُعيد سلسلةً نصيةً مُنشَأةً باستخدام سلسلة من قيم محارف يونيكود.

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

String.fromCharCode(num1[, ...[, numN]])

num1, ..., numN

سلسلة من الأرقام التي تُمثِّل قيم محارف يونيكود (Unicode values). المجال المسموح يقع بين 0 و 65535 (أي 0xFFFF)، والأرقام الأكبر من 0xFFFF سيُقتَطع جزءٌ منها.

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

سلسلة نصية تحتوي على محارف ترتبط بقيم يونيكود المُمرَّرة إلى الدالة.

الوصف

هذه الدالة تُعيد سلسلةً نصيةً أوليّةً ولا تُعيد كائن String.

لمّا كانت الدالة fromCharCode هي دالةٌ ساكنة (static method) تابعةٌ للكائن String، فيجب عليك استخدامها دومًا بالشكل String.fromCharCode()‎، إذ لا تستطيع استخدامها كجزء من كائن String خاص بك.

أمثلة

المثال الآتي يُبيّن استخدام الدالة fromCharCode()‎:

String.fromCharCode(65, 66, 67);  // "ABC"
String.fromCharCode(0x2014)       // "—"
String.fromCharCode(0x12014)      // "—" سيتم تجاهل المحرف 1

التعامل مع القيم الأكبر من الحد الأقصى

صحيحٌ أنَّ من الشائع تمثيل قيم يونيكود بمحرف بطول 16-بت (كما كان متوقعًا سابقًا أثناء عملية صياغة معيار JavaScript) وكان بإمكاننا استخدام الدالة fromCharCode()‎ لإعادة محرف وحيد من أغلبية القيم (أي قيم UCS-2، والتي هي مجموعة فرعية من UTF-16 فيها أكثر المحارف شيوعًا).

أما للتعامل مع جميع قيم يونيكود الصالحة (تصل حتى 21 بت)، فلن يكون استخدام الدالة fromCharCode()‎ وحدها مناسبًا، ذلك لأنَّ المحارف التي لها قيم كبيرة تستخدم رقمين لتمثيل المحرف الواحد؛ لذا يمكن استخدام الدالة String.fromCodePoint()‎ (وهي جزءٌ من معيار ECMAScript 2015 أي ES6) لإعادة مثل هذه الأزواج، مما يسمح بتمثيل المحارف التي لها قيم أكبر من الحد الأقصى.

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

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم نعم نعم نعم نعم

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