Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Метод 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://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/en-US/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 Status Comment
ECMAScript Latest Draft (ECMA-262)
Определение 'String.prototype.padStart' в этой спецификации.
Черновик Initial definition in ECMAScript 2017.

Поддержка браузерами

Update compatibility data on GitHub
КомпьютерыМобильныеServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidEdge MobileFirefox для AndroidOpera для AndroidSafari on iOSSamsung InternetNode.js
Базовая поддержкаChrome Полная поддержка 57Edge Полная поддержка 15Firefox Полная поддержка 48IE Нет поддержки НетOpera Полная поддержка 44Safari Полная поддержка 10WebView Android Полная поддержка 57Chrome Android Полная поддержка 57Edge Mobile Полная поддержка ДаFirefox Android Полная поддержка 48Opera Android Полная поддержка 44Safari iOS Полная поддержка 10Samsung Internet Android Полная поддержка 7.0nodejs Полная поддержка 8.0.0
Полная поддержка 8.0.0
Полная поддержка 7.0.0
Отключено
Отключено From version 7.0.0: this feature is behind the --harmony runtime flag.

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.

Смотрите также

Метки документа и участники

Внесли вклад в эту страницу: wa-Nadoo, timbset
Обновлялась последний раз: wa-Nadoo,