JavaScript Math.randomメソッドの使い方

この記事のポイント

JavaScriptでランダムな数値を生成したい場面は多くありますが、Math.randomメソッドを使えば簡単に実現できます。

  • 0以上1未満のランダムな小数を生成する基本機能
  • 指定した範囲内でのランダムな整数や小数の生成方法
  • ゲームやアプリ開発で活用できる実践的なコード例

これらのポイントを押さえることで、効果的にランダム処理を実装できるようになります。

目次

Math.randomメソッドとは?

Math.randomメソッドは、0以上1未満のランダムな浮動小数点数を生成する組み込みメソッドです。

このメソッドは引数を取らず、呼び出すたびに異なる値を返します。生成される数値は疑似乱数と呼ばれ、コンピューターのアルゴリズムによって計算されています。ゲーム開発やデータのランダム化、テスト用のダミーデータ生成など、さまざまな場面で活用されており、プログラミング初心者にとっても理解しやすい便利な機能です。

【関連】
JavaScriptをもっと詳しく学ぶならpaizaラーニング

基本構文

Math.randomメソッドの最もシンプルな使用方法から、実際の開発でよく使われる応用例まで紹介します。基本的な書き方はとても簡単で、Math.randomと書くだけで0から1未満のランダムな数値を取得できます。この基本的な値を使って、かけ算やたし算を組み合わせることで、さまざまな範囲のランダムな値を生成することが可能になります。以下に具体的なコード例を示します。

// 基本的な使用方法 let randomValue = Math.random(); console.log(randomValue);

出力結果(例)

0.7834592847263947

※実行ごとに出力結果が変わります。ページ内の以後のコードも同様です

// 1から10までのランダムな整数を生成 let randomInt = Math.floor(Math.random() * 10) + 1; console.log(randomInt);

出力結果(例)

7

実用例

ここからは、Math.randomメソッドを使った具体的な実用例を紹介します。基本的なランダム数値生成から始まり、配列からの要素選択、ゲーム要素の実装、実用的なアプリケーション機能まで幅広くカバーします。

各例では実際に動作するコードとその出力結果を示し、どのような場面で活用できるかも解説します。これらのサンプルコードを参考にして、自分のプロジェクトに応用してみてください。

基本的なランダム数値生成

最もシンプルなMath.randomメソッドの使用例です。
0以上1未満の小数値を取得し、それを表示します。

let basicRandom = Math.random(); console.log("ランダム値:", basicRandom); console.log("小数第3位まで:", basicRandom.toFixed(3));

出力結果(例)

ランダム値: 0.6472849275834829
小数第3位まで: 0.647

指定範囲のランダム整数生成

最小値と最大値を指定して、その範囲内でランダムな整数を生成する例です。ゲームのダメージ計算などに活用できます。

function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } let damage = getRandomInt(10, 50); console.log("ダメージ:", damage);

出力結果(例)

ダメージ: 32

配列からランダム要素選択

配列の中からランダムに要素を選択する例です。
動物の名前からランダムに一つを選んで表示します。

let animals = ["イヌ", "ネコ", "ウサギ", "ハムスター", "インコ"]; let randomAnimal = animals[Math.floor(Math.random() * animals.length)]; console.log("今日のペット:", randomAnimal);

出力結果(例)

今日のペット: ウサギ

ランダムなカラーコード生成

ウェブデザインで使用するHEXカラーコードをランダムに生成する例です。
背景色やアクセントカラーの選択に活用できます。

function generateRandomColor() { let hex = Math.floor(Math.random() * 16777215).toString(16); return "#" + hex.padStart(6, '0'); } console.log("ランダムカラー:", generateRandomColor());

出力結果(例)

ランダムカラー: #3a7f2c

サイコロゲーム

1から6までの数値をランダムに生成するサイコロのシミュレーション例です。
ボードゲーム系アプリの基本要素として活用できます。

function rollDice() { return Math.floor(Math.random() * 6) + 1; } let result = rollDice(); console.log("サイコロの結果:", result + "が出ました!");

出力結果(例)

サイコロの結果: 4が出ました!

じゃんけんゲーム

コンピューターがランダムに手を選ぶじゃんけんゲームの実装例です。
ユーザーとの対戦型ゲーム作成の参考になります。

function computerChoice() { let choices = ["グー", "チョキ", "パー"]; return choices[Math.floor(Math.random() * 3)]; } console.log("コンピューターの手:", computerChoice());

出力結果(例)

コンピューターの手: パー

ランダム名前ジェネレーター

動物の名前をランダムに組み合わせてユニークな名前を生成する例です。
ゲームキャラクターやペットの名前付けに便利です。

let firstNames = ["フワフワ", "キラキラ", "プルプル"]; let animals = ["パンダ", "コアラ", "ペンギン"]; let fullName = firstNames[Math.floor(Math.random() * 3)] + animals[Math.floor(Math.random() * 3)]; console.log("生成された名前:", fullName);

出力結果(例)

生成された名前: キラキラコアラ

パスワード生成

セキュリティに配慮した簡単なパスワード生成の例です。
文字と数字を組み合わせてランダムな文字列を作成します。

function generatePassword(length) { let chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; let password = ""; for(let i = 0; i < length; i++) { password += chars[Math.floor(Math.random() * chars.length)]; } return password; } console.log("生成パスワード:", generatePassword(8));

出力結果(例)

生成パスワード: K9mX2nPq

まとめ

Math.randomメソッドは、ウェブ開発において非常に汎用性の高いメソッドです。基本的な0から1未満の小数生成から始まり、さまざまな数学的操作と組み合わせることで、実用的なアプリケーション開発に必要なランダム機能を実現できます。

Math.randomメソッドの活躍する場面

  • ゲーム開発でのランダム要素実装
  • データのシャッフルや抽選システム構築
  • テスト用ダミーデータの自動生成

重要なポイント

  • 0以上1未満の範囲で浮動小数点数を生成
  • Math.floorとの組み合わせで整数値に変換可能
  • 配列インデックスとして使用し要素をランダム選択

これらの知識を活用することで、動的で魅力的なウェブ・アプリケーションの開発が可能になります。実際のプロジェクトでは、ユーザー体験を向上させるための重要な要素として活用されています。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. JavaScriptのリファレンス記事一覧
  4. JavaScript Math.randomメソッドの使い方