では .repeat() を使った、実践的で初心者にもわかりやすい活用例をいくつか紹介します。
基本復習:繰り返すだけの例
console.log("★".repeat(5));
// → ★★★★★
JavaScript文字や記号を簡単に繰り返せます。
「ループ(for文)」を書かなくてもOK!
例①:パスワードをマスク表示する
入力されたパスワードの文字数分だけ「*」を表示する例です。
let password = "mypassword";
let masked = "*".repeat(password.length);
console.log(masked);
// → **********
JavaScriptこのように .repeat() は「文字数分の記号を表示する」場面にピッタリです!
例②:進捗バー(プログレスバー)を作る
let progress = 6; // 今の進捗
let total = 10; // 全体の長さ
let bar = "■".repeat(progress) + "□".repeat(total - progress);
console.log(`[${bar}] ${progress * 10}%`);
// → [■■■■■■□□□□] 60%
JavaScriptゲームや学習アプリなどで「バーの表示」を作るときにも便利!
例③:見出しを装飾する
let title = "JavaScript学習";
let deco = "=".repeat(title.length + 4);
console.log(deco);
console.log(`= ${title} =`);
console.log(deco);
JavaScript出力結果:
===================
= JavaScript学習 =
===================
.repeat() を使うと、簡単に「飾り罫線」を作れます。
例④:単語を強調したりリズムをつける(遊び系)
let word = "ハロー!";
console.log(word.repeat(3));
// → ハロー!ハロー!ハロー!
JavaScriptチャットやゲーム内のメッセージなどで「テンション高め」な表現をしたいときにも活躍します。
⚠️ 注意点まとめ
| 状況 | 結果 |
|---|---|
"abc".repeat(0) | ""(空文字) |
"abc".repeat(3) | "abcabcabc" |
"abc".repeat(-1) | ❌ RangeError(エラー) |
"abc".repeat(2.5) | "abcabc"(小数は切り捨て) |
練習問題(チャレンジ!)
初級
次のコードの出力結果を考えてみましょう。
console.log("Na".repeat(3) + " Batman!");
JavaScriptNaNaNa Batman!
「Na」が3回繰り返され、その後に " Batman!" が続きます。
中級
空白 " " を使って、次のような出力を作ってみましょう。
Hello
World
!
「空白.repeat(数)」を使うとインデント(字下げ)が作れます。
応用
ユーザーが入力した回数分だけ「★」を並べるプログラムを作ってみましょう。
let count = prompt("星をいくつ表示しますか?");
console.log("★".repeat(count));
JavaScriptブラウザで実行すると、指定した数の星が表示されます。
