この動画はメンバー限定動画です

全ての講座が
月額990円で学び放題

講座の情報を見る

TypeScript入門パスワード生成ツールを作ろう①

記事を共有:

  • X
  • Pocket
  • クリップボードにコピー

それではここまで学んだ内容を使って、少し実用的なプログラムを作成してみましょう。ここでは、ランダムに文字列を組み合わせてパスワードを作ることができるツールを作ってみます。

動きとしては次のようになります。

  • あらかじめパスワードの元になる文字列を配列として準備する
  • コマンドのパラメータとして、パスワードの長さを指定する
  • 乱数を使って、配列の中から適当な文字を1文字取得する
  • 指定された長さの分だけ繰り返し取り出してつなげる
  • 画面に表示する

順番に作成していきましょう。

パスワードの元の文字列を配列で準備しよう

まずは、パスワードとして使われる文字の種類を配列として準備します。新しいファイルに次のように書き込みましょう。

// password.ts
const seeds: string[] = [
  "A", "B", "C",
  "a", "b", "c",
  "1", "2", "3",
  "!", "#", "@",
];

ここでは、大文字のABCと小文字のabc、数字の123と記号を組み合わせています。もちろんもっと文字数を増やしても良いですし、日本語などを入れても良いでしょう。これで準備完了です。

パスワードを1文字取り出そう

こうして準備した配列から、パスワードを1文字取り出してみましょう。例えば、4文字目の「a」を取り出したい場合は、配列のインデックスは0から始まるので次のように3を指定します。

console.log(seeds[3]);

では、この数字を乱数を使ってランダムに取り出しましょう。この配列は12文字の文字が入っているため、0から11のいずれかの数字を乱数で求めます。その場合、次の計算式で求めることができます。

Math.floor(Math.random() * 12)

ここで、12という配列の要素の数は、後から要素数が変わる可能性もあるので、数字を決め打ちにせずに配列の長さから求めるようにしましょう。「seeds.length」プロパティが利用できます。

Math.floor(Math.random() * seeds.length);

これで数字を取得できるので、この数字を配列のインデックスに指定します。

console.log(seeds[Math.floor(Math.random() * seeds.length)]);

これで、実行する度にどれかの文字が表示されるようになりました。

前のレッスン 次のレッスン