String.prototype.padStart()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since апÑÐµÐ»Ñ 2017 г..
ÐкÑпеÑименÑалÑÐ½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ: ÐÑо ÑкÑпеÑименÑалÑÐ½Ð°Ñ ÑеÑ
нологиÑ
Так как ÑпеÑиÑикаÑÐ¸Ñ ÑÑой ÑеÑ
нологии еÑÑ Ð½Ðµ ÑÑабилизиÑовалаÑÑ, ÑмоÑÑиÑе ÑаблиÑÑ ÑовмеÑÑимоÑÑи по Ð¿Ð¾Ð²Ð¾Ð´Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑазлиÑнÑÑ
бÑаÑзеÑаÑ
. Также замеÑÑÑе, ÑÑо ÑинÑакÑÐ¸Ñ Ð¸ поведение ÑкÑпеÑименÑалÑной ÑеÑ
нологии Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑÑÑ Ð² бÑдÑÑиÑ
веÑÑиÑÑ
бÑаÑзеÑов, вÑлед за изменениÑми ÑпеÑиÑикаÑии.
ÐеÑод padStart() заполнÑÐµÑ ÑекÑÑÑÑ ÑÑÑÐ¾ÐºÑ Ð´ÑÑгой ÑÑÑокой (неÑколÑко Ñаз, еÑли нÑжно) Ñак, ÑÑо иÑÐ¾Ð³Ð¾Ð²Ð°Ñ ÑÑÑока доÑÑÐ¸Ð³Ð°ÐµÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹ длинÑ. Ðаполнение оÑÑÑеÑÑвлÑеÑÑÑ Ð² наÑале (Ñлева) ÑекÑÑей ÑÑÑоки.
СинÑакÑиÑ
str.padStart(targetLength [, padString])
ÐаÑамеÑÑÑ
targetLength-
Ðлина иÑоговой ÑÑÑоки поÑле Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑекÑÑей ÑÑÑоки. ÐÑли знаÑение менÑÑе, Ñем длина ÑекÑÑей ÑÑÑоки, ÑекÑÑÐ°Ñ ÑÑÑока бÑÐ´ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑена без изменений.
padStringÐеобÑзаÑелÑнÑй-
СÑÑока Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑекÑÑей ÑÑÑоки. ÐÑли ÑÑа ÑÑÑока ÑлиÑком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹ длинÑ, она бÑÐ´ÐµÑ Ð¾Ð±Ñезана. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ - " " (U+0020).
ÐозвÑаÑаемое знаÑение
String заданной Ð´Ð»Ð¸Ð½Ñ Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸ÐµÐ¼ ÑÑÑокой, вÑполненное в наÑале.
ÐÑимеÑÑ
"abc".padStart(10); // " abc"
"abc".padStart(10, "foo"); // "foofoofabc"
"abc".padStart(6, "123465"); // "123abc"
"abc".padStart(8, "0"); // "00000abc"
"abc".padStart(1); // "abc"
ÐолиÑил
ÐапÑÑк данного кода пеÑед лÑбÑм дÑÑгим кодом бÑÐ´ÐµÑ ÑоздаваÑÑ String.prototype.padStart(), еÑли он наÑивно не поддеÑживаеÑÑÑ.
// https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
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);
}
};
}
СпеÑиÑикаÑии
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-string.prototype.padstart> |