String.prototype.padStart()
< JavaScript | String
اذهب إلى التنقل
اذهب إلى البحث
مراجعة 15:43، 28 يناير 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}')
الدالة String.prototype.padStart()
تحشو السلسلة النصية الحالية من بدايتها بإضافة السلسلة النصية المُعطاة (مع تكرارها إن لزم) لإنشاء سلسلة نصية جديدة لها طول معيّن.
البنية العامة
str.padStart(targetLength [, padString])
targetLength
طول السلسلة النصية الناتجة بعد إضافة الحاشية، وإذا كانت القيمة أقل من طول السلسلة النصية الحالي، فستُعاد السلسلة النصية كما هي.
padString
السلسلة النصية التي ستُضاف إلى السلسلة النصية الحالية. وإذا كانت طويلة جدًا مما لا يجعلها تتسع في الطول المُحدَّد فستُقصّ وتُطبَّق بدايتها على السلسلة النصية الأصلية. القيمة الافتراضية لهذا الوسيط هي الفراغ " " (أي U+0020)
القيمة المعادة
سلسلة نصية مع إضافة حاشية في بدايتها.
أمثلة
استخدام padStart()
'abc'.padStart(10); // " abc"
'abc'.padStart(10, "foo"); // "foofoofabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0"); // "00000abc"
'abc'.padStart(1); // "abc"
تعويض نقص دعم المتصفحات
أُضيفَت هذه الدالة لأوّل مرة في معيار ECMAScript 2017، وما يزال دعمها محدودًا، لذا يمكنك الاستعانة بالشيفرة الآتية لتعريفها:
// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
if (!String.prototype.padStart) {
String.prototype.padStart = function padStart(targetLength,padString) {
targetLength = targetLength>>0; //floor if number or convert non-number to 0;
padString = String(padString || ' ');
if (this.length > targetLength) {
return String(this);
}
else {
targetLength = targetLength-this.length;
if (targetLength > padString.length) {
padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
}
return padString.slice(0,targetLength) + String(this);
}
};
}
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 57 | 48 | غير مدعومة | 44 | 10 |
على النقيض من متصفح IE، يدعم Edge هذه الميزة بدءًا من الإصدار 15.
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2017.