We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

padStart() メソッドは、指定した長さに文字列がなるように、現在の文字列を指定した文字列で (必要があれば繰り返し) 延長します。延長は、現在の文字列の最初 (左) から適用されます。

構文

str.padStart(targetLength [, padString])

パラメーター

targetLength
現在の文字列の延長後の長さ。パラメーターが現在の文字列の長さよりも短い場合、現在の文字列が返される。
padString Optional
現在の文字列を延長するための文字列。この文字列が長すぎる場合、切り捨てられて、左の部分が適用されます。 このパラメーターの既定値は、" " (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"

Polyfill

以下のコードを、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; //truncate if number or convert non-number to 0;
        padString = String((typeof padString !== 'undefined' ? 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);
        }
    };
}

仕様

仕様 状態 備考
ECMAScript Latest Draft (ECMA-262)
String.prototype.padStart の定義
ドラフト ECMAScript 2017 で初回定義。
ECMAScript 2017 (ECMA-262)
String.prototype.padStart の定義
標準  

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応571548 なし4410
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応5757 あり4844107.0

関連項目

ドキュメントのタグと貢献者

このページの貢献者: dskmori, maechabin, myakura, lv7777, YuichiNukiyama
最終更新者: dskmori,