الفرق بين المراجعتين لصفحة: «JavaScript/String/padStart»
< JavaScript | String
لا ملخص تعديل |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 70: | سطر 70: | ||
* مسودة المعيار [https://tc39.github.io/ecma262/#sec-string.prototype.padstart ECMAScript Latest Draft]. | * مسودة المعيار [https://tc39.github.io/ecma262/#sec-string.prototype.padstart ECMAScript Latest Draft]. | ||
* معيار [https://tc39.github.io/ecma262/2017/#sec-string.prototype.padstart ECMAScript 2017]. | * معيار [https://tc39.github.io/ecma262/2017/#sec-string.prototype.padstart ECMAScript 2017]. | ||
[[تصنيف:JavaScript]] | [[تصنيف:JavaScript|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript Global Objects]] | [[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]] | ||
[[تصنيف:JavaScript String]] | [[تصنيف:JavaScript String|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:43، 28 يناير 2018
الدالة 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.