このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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年4月⁩.

padStart() メソッドは、結果の文字列が指定した長さになるように、現在の文字列を他の文字列で(必要に応じて繰り返して)延長します。延長は、現在の文字列の先頭から適用されます。

試してみましょう

const str1 = "5";

console.log(str1.padStart(2, "0"));
// Expected output: "05"

const fullNumber = "2034399002125581";
const last4Digits = fullNumber.slice(-4);
const maskedNumber = last4Digits.padStart(fullNumber.length, "*");

console.log(maskedNumber);
// Expected output: "************5581"

構文

js
padStart(targetLength)
padStart(targetLength, padString)

引数

targetLength

現在の文字列の延長後に返される文字列の長さです。この値が現在の文字列の長さよりも短い場合、文字列がそのまま返されます。

padString 省略可

現在の文字列を延長するための文字列です。 padStringtargetLength より長い場合は、右からその長さ分が切り捨てられます。 この引数の既定値は、Unicode の「空白」文字 (U+0020) です。

返値

現在の文字列の先頭に padString が適用された、指定された targetLength の長さの String です。

基本的な例

js
"abc".padStart(10); // "       abc"
"abc".padStart(10, "foo"); // "foofoofabc"
"abc".padStart(6, "123465"); // "123abc"
"abc".padStart(8, "0"); // "00000abc"
"abc".padStart(1); // "abc"

数値を固定長文字列へ変換

js
// JavaScript version of: (unsigned)
// printf "%0*d" width num
function leftFillNum(num, targetLength) {
  return num.toString().padStart(targetLength, "0");
}

const num = 123;
console.log(leftFillNum(num, 5)); // "00123"

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-string.prototype.padstart

ブラウザーの互換性

関連情報