この動画はメンバー限定動画です
全ての講座が
月額990円で学び放題
続いて、Mathオブジェクトというオブジェクトを利用して、次のようなプログラムを作成してみましょう。
1から6までのいずれかの数字がランダムで表示されるサイコロプログラム
次のようなプログラムを作成しましょう。
// dice.ts
const random = Math.random();
console.log(random); // 0.0から1.0未満までのいずれかの数字
このプログラムを実行すると、0.77…など小数が1つ表示されます。これは、実行する度に違う数字が表示されます。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-66-1024x576.png)
この、「random()」というメソッドはMathオブジェクトのメソッドで「乱数」という、呼び出す度に変わる数字を得られるメソッドです。
静的メソッド
この、random()メソッドは少し特殊な使い方です。前のレッスンで紹介したとおり、オブジェクトは基本的にインスタンスを作らなければならないと紹介しました。しかし、Mathオブジェクトは次のようにインスタンスを作っていません。
const math = new Math(); // この記述は不要
このrandom()メソッドは「静的メソッド」という種類のメソッドで、インスタンスを作らなくても手軽に呼び出すことができます。どんなメソッドが静的メソッドであるかは、各リファレンスを見ると分類が書かれています。
左側の一覧を見ると、「静的メソッド」に分類されていることが分かります。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-67.png)
サイコロを作ろう
Math.random()メソッドは小数で結果が得られるので、これを計算して1から6までの数字に変えましょう。これは、次のような計算式で求められます。
求めた値 × 6 + 1
例えば、0.0の場合は6をかけて1を加えると1になります。0.9の場合は「0.9×6+1=6」になるというわけで、これによってサイコロを作ることができます。次のようにプログラムを変更しましょう。
小数を切り捨てよう
サイコロにするには、小数を切り捨てなければなりません。これには、同じMathオブジェクトの「floor()」というメソッドが利用できます。これらを組み合わせて、次のようなプログラムを作成しましょう。
const dice: number = Math.floor(random * 6 + 1);
console.log(dice); // 1から6のいずれかの数字
これでサイコロを作ることができました。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-68-1024x576.png)