String.prototype.padStart() は、文字列が指定した長さになるまで先頭に指定した文字列を追加するメソッドです。このメソッドは、文字列を整形したり、固定幅のフォーマットでデータを表示したりするために使用されます[1]

構文

編集
str.padStart(maxLength [, fillString])
  • maxLength: 結果の文字列の長さ。元の文字列の長さよりも小さい場合は、元の文字列がそのまま返されます。
  • fillString: 埋め込みに使用する文字列。省略した場合は空白文字(" ")が使用されます。

基本的な使用法

編集

以下のプログラムは、String.prototype.padStart() を使用して文字列を指定した長さに調整します。

const str = 'abc';

console.log(str.padStart(10));      // "       abc"
console.log(str.padStart(10, '.'));  // ".......abc"
console.log(str.padStart(5, '123')); // "12abc"
console.log(str.padStart(3));        // "abc"(変更なし)

このプログラムでは、文字列 "abc" を異なる長さと埋め込み文字列でパディングした結果を示しています。

数値の桁揃え

編集

以下のプログラムは、数値を固定幅で表示するために padStart() を使用する例です。

const numbers = [5, 25, 314, 1024];

// 4桁で0埋めして表示
for (const num of numbers) {
  const formattedNum = num.toString().padStart(4, '0');
  console.log(formattedNum);
}
// 出力:
// 0005
// 0025
// 0314
// 1024

このプログラムでは、数値を4桁の固定幅で表示するために padStart() を使用しています。これは、ファイル名の連番や識別子などで便利です。

日付のフォーマット

編集

以下のプログラムは、日付のフォーマットに padStart() を使用する例です。

const date = new Date();
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');

console.log(`${year}-${month}-${day}`); // 例: "2025-02-25"

このプログラムでは、月と日を2桁で表示するために padStart() を使用して、標準的な日付フォーマット(YYYY-MM-DD, RFC 3339 で定義されている形式の1つ)を作成しています。

注意点

編集
  • 元の文字列への影響: padStart() メソッドは元の文字列を変更せず、新しい文字列を返します。
  • maxLength: 指定した maxLength が元の文字列の長さ以下の場合、元の文字列がそのまま返されます。
  • fillString: fillString が複数の文字を含む場合、必要な長さを満たすために繰り返し使用されますが、結果の文字列が maxLength を超えないように切り捨てられます。
  • Unicode: 文字列の長さはUnicodeコードポイントではなく、文字単位で計算されます。これは、特定の言語やシンボルで予期しない結果を生む可能性があります。

脚註

編集
  1. ^ これは、数値や日付などを固定幅で表示する際に特に便利です。

外部リンク

編集