javaScript

数学計算用のメソッドを使う

前回、小数点以下の値を切り上げるのにMathオブジェクトのceilメソッドを使いました。MathオブジェクトのMathは「数学」という意味です。その名の通り、数値計算に便利なメソッドやプロパティが多く用意されているオブジェクトです。Dateオブジェクトとは異なり、Mathオブジェクトのメソッドを使用するときは、予めインスタンスを生成する必要はないです。次のように書くことで呼び出すことができます。

例を挙げると与えられた引数の中から最小値を返すminがあり、minメソッドを使用して、5,6,7,8から最小値を求め変数minNumに代入するには以下のように書きます。

Mathオブジェクトには、乱数を生成するrandomというメソッドも用意されています。今回はこれを利用しておみくじを作成します。

サンプルコードの実行結果はこちら
なんどもF5キー更新をかけると、結果が異なります。

インスタンスメソッドとスタティックメソッド

Dateオブジェクトなどの通常のオブジェクトのメソッドは、インスタンスメソッドを生成しないと使えません。メソッドの結果が、インスタンスに依存するからです。getMonthメソッドはインスタンスに格納されている月の値を返すので、インスタンスごとに値が異なります。そのようなインスタンスに依存するメソッドの事をインスタンスメソッドと言います。それに対して、max,minなどのMathオブジェクトのメソッドは、インスタンスに依存せず、関数のように使えます。そのようなメソッドのことをスタティックメソッドと言います。スタティックメソッドは「オブジェクト名.メソッド名(引数)」の形式で呼び出します。

randomメソッド

Mathオブジェクトのrandomメソッドは、乱数を返すメソッドです。乱数とは、無作為に選ばれる数のことです。英語ではrandom number(ランダム数)と書きます。randomメソッドは実行のたびに0以上1未満の間の無作為な数を返します。このメソッドは引数はいりません。サンプルコードでは、0.33未満、0.66未満、それ以外に均等に3分割しています。この基準値を変更することで、それぞれの結果の出る確率を変更することができます。

Mathオブジェクトのメソッド

主なものは以下に書きます。

メソッド メソッドの説明
abs 絶対値を返す
exp eの引数乗の値を返す
ceil 小数点以下を切り上げる
floor 小数点以下を切り捨てる
log 引数の自然対数を返す
max 引数の最大値を返す
min 引数の最小値を返す
pow 第1引数の第2引数乗の値を返す
round 引数の小数部分以下第1位を四捨五入した値を返す
randoom 0から1の間の乱数を返す
sin サイン(正弦)を返す
cos コサイン(余弦)を返す
tan タンジェント(正接)を返す

Mathオブジェクトのプロパティ

Mathオブジェクトには、技術計算の定数として使用されるプロパティも用意されています。PIは、円周率を表す読み出し専用のプロパティです。これを利用して、半径10の円の面積を求めるには下記のように書きます。

指定した範囲の乱数を計算する方法

randomメソッドは、0以上1未満の乱数を発生させますが、指定した
範囲の整数の乱数が欲しい場合もあります、その時は、
randomメソッドを小数点以下を切り捨てるメソッドと
組み合わせて使います。たとえば、0~9の間の乱数を
変数numに代入したいときは、randomメソッドの値に
10を掛けて、floorメソッドで整数に変換します。

-javaScript
-, , , ,