こんにちは!フロントエンド・アーキテクチャの現場を長年歩んできた者です。
日夜、コードと向き合っていると、「うわ、ここで綺麗に文字の長さが揃ってくれたらUIが劇的に締まるのに……!」なんて悶絶する瞬間に何度も出くわしますよね。
JavaScriptの文字列操作と聞くと、`slice`で切り取ったり、`replace`で置き換えたりといった「削る・変える」系の処理を思い浮かべがちです。でも、実務の現場では「足りない分を埋める」というアプローチもめちゃくちゃ重要なんですよ。
今回は、そんな「足りないパーツをシュッと埋めて、見た目を美しく整えてくれる」優しいメソッド、`String.prototype.padEnd()`について、一緒に紐解いていきましょう!
難しい専門用語はなるべく封印して、身近な例えを交えながらお話ししますので、コーヒーでも飲みながらリラックスして読んでいってくださいね。
—
1. `padEnd()`ってどんなもの?(身近な例え話)
突然ですが、スーパーのレシートや、映画館の座席番号(「A-05」など)を思い浮かべてみてください。
あるいは、銀行の通帳や整理券を発券したとき、数字の桁数がバラバラだと見づらいからと、空いているスペースに「0」や「.」が綺麗に並べられているのを見たことはありませんか?
あれは、人間がパッと見て「一目で情報を認識しやすくするため」の、いわばデザインの思いやりです。
JavaScriptの `padEnd()` も、まさにそれと同じ仕事をしてくれます。
日本語に直訳するなら「末尾を埋める(パッドする)」という意味。
- 「この文字列、本当はあと○文字分の長さが欲しいんだよね……」
- 「もし長さが足りなかったら、後ろに特定の文字を並べて、指定の長さまで引き伸ばして!」
そんなわがままを、たった1行のコードでスマートに叶えてくれるのが、この `padEnd()` なんです。初学者のうちは、「文字を付け足すだけなら `+` 演算子でいいのでは?」と思いがちですが、長さが動的に変わる現場ではこれが本当に良い仕事をするんですよ。
—
2. 基本のルールと書き方
まずは、どんな風に書くのか、その「お作法」を見てみましょう。
// 基本の構文
対象の文字列.padEnd(目標の文字数, 埋めるための文字);
引数(カッコの中身)は、大きく分けて2つあります。
1. 目標の文字数(ターゲットの長さ): 「最終的に、何文字にしたいか?」というゴールです。
2. 埋めるための文字(オプション): 足りない分を何で埋めるか。「0」なのか、スペースなのか、それとも「-」なのかを指定します(省略すると、自動的に半角スペースで埋めてくれます)。
百聞は一見に如かず。実際に動かしてみましょう!
—
3. 実践!コードで感覚を掴もう
エディタを開いて、以下のコードをそのままコピペしてブラウザのコンソールなどで動かしてみてください。どんなふうに文字が伸びるのか、直感で分かるはずです。
// 例1:SNSのプロフィールや、ちょっとしたリストのレイアウト調整
const fruit = “りんご”;
// 「りんご」は2文字。目標を「6文字」にして、足りない分を「_(アンダースコア)」で後ろから埋める!
const paddedFruit = fruit.padEnd(6, “_”);
console.log(paddedFruit);
// 出力結果: “りんご____”
// (「りんご」の2文字 + 「____」の4文字 = 合計6文字になります!)
どうですか?想像通りでしたか?
「りんご」という元の文字の後ろに、指定した「_」が、目標の6文字に到達するまでピッタリと寄り添うように埋め込まれましたね。
つまずきやすいポイント①:目標の文字数より、元の文字列の方が長いとき
ここで、初心者の人が「おや?」とつまずきやすいポイントをひとつ。
もし、「目標の文字数」よりも「もともとの文字の長さ」の方がすでに長かった場合はどうなるでしょうか?
const longText = “パイナップル”; // 6文字
// 目標を「4文字」に設定してみる
const result = longText.padEnd(4, “!”);
console.log(result);
// 出力結果: “パイナップル”
あれ?「!」はどこに行ったの?って思いますよね。
大丈夫、エラーにはなりませんが、「すでに目標の長さを超えているので、何もしない(そのまま返す)」というのが `padEnd()` の優しい仕様です。「削られることはない」ので、安心して使ってくださいね。
—
4. Web制作の現場でどう使うの?(リアルな活用シーン)
「理屈は分かったけど、実際のWeb制作でどこで使うの?」という声が聞こえてきそうです。
私の現場での実体験を交えて、よくあるシチュエーションをご紹介します。
シチュエーション:金額やコードの桁数を揃えて、UIを美しく見せたいとき
例えば、ECサイトの管理画面やダッシュボードを作っているとします。商品のシリアルナンバーや、価格の表示枠を綺麗に縦に揃えたいとき、`padEnd()` は最高のパートナーになります。
// 商品コードのリスト(長さがバラバラ)
const codes = [“A1”, “B123”, “C45”];
console.log(“— 商品コードの桁数(6文字)を揃えるよ —“);
codes.forEach(code => {
// 足りない分をピリオド「.」で埋めて、視覚的に幅を揃える
const formattedCode = code.padEnd(6, “.”);
console.log(formattedCode);
});
/ 出力結果:
A1….
B123..
C45…
/
こうしておくと、等幅フォント(文字の幅がすべて同じフォント)を使っている画面などでは、データの羅列が綺麗に整列して、ユーザーにとって圧倒的に見やすいUI(ユーザーインターフェース)になります。細かいこだわりですが、こういう気配りが「おっ、できるな」と思わせるフロントエンドエンジニアの技だったりします。
—
5. 似た仲間「padStart()」とのコンビネーション
最後に、`padEnd()` を語る上で絶対に外せない、もう一人の相棒を紹介しておきます。
それが `padStart()` です。
名前からなんとなく想像がつくかもしれませんが、
- `padStart()` は、先頭(頭)を埋める。
- `padEnd()` は、末尾(お尻)を埋める。
という違いがあります。例えば、時計の表示や日付(「9月」を「09」にしたいときなど)や、クレジットカードの下4桁表示などでは `padStart()` が大活躍します。
// 先頭を「0」で埋める padStart の例(2桁に揃える)
const month = “5”;
const formattedMonth = month.padStart(2, “0”);
console.log(formattedMonth); // “05”
// 末尾を「」で埋める padEnd の例
const id = “user”;
const maskedId = id.padEnd(8, “”);
console.log(maskedId); // “user”
このように、「前を揃えたいときは Start、後ろを揃えたいときは End」とセットで覚えておくと、文字列の整形スキルがグッと広がりますよ。
—
おわりに
今回は `String.prototype.padEnd()` について、基本の概念から実務でのユースケースまでお話ししました。
JavaScriptのメソッドは、最初は難しく見えるかもしれませんが、一つひとつは「かゆいところに手が届く便利な道具」にすぎません。`padEnd()` も、あなたのコードをより美しく、読みやすくするための心強い味方です。
「文字数が足りなかったら、後ろをシュッと埋めてくれる優しいやつ」
それくらいの気楽な気持ちで、ぜひ明日のコーディングから使ってみてくださいね。
あなたのフロントエンド開発ライフが、もっと楽しく、快適なものになりますように!

コメント