2022年3月17日 Math (JavaScript Primer)
Mathオブジェクト
JavaScriptで数学的な定数と関数を提供するビルトインオブジェクトです。 インスタンスは作成しないです。
new Math();
結果: TypeError: Math is not a constructor
const rad90 = Math.PI * 90 / 180; const sin90 = Math.sin(rad90); console.log(sin90); // => 1
乱数を生成する
randomメソッドは乱数の生成をします。 0以上1未満の範囲内で、疑似ランダムな浮動小数点数を返しています。
for (let i = 0; i < 5; i++) { // 毎回ランダムな浮動小数点数を返す console.log(Math.random()); }
数値の大小を比較する
Math.max
とMath.min
で引数に渡した複数要素の最大と最小の値を出力しています。
const numbers = [1, 2, 3, 4, 5]; console.log(...numbers); // => 1, 2, 3, 4, 5 console.log(Math.max(...numbers)); // => 5 console.log(Math.min(...numbers)); // => 1
スプレッド構文は配列を展開することができます。
console.log(...numbers);
結果: 1, 2, 3, 4, 5
数値を整数にする
整数を、返す関数です。 floorは繰り下げ、ceilは繰り上げ、roundは四捨五入です。
// 底関数 console.log(Math.floor(1.3)); // => 1 console.log(Math.floor(-1.3)); // => -2 // 天井関数 console.log(Math.ceil(1.3)); // => 2 console.log(Math.ceil(-1.3)); // => -1 // 四捨五入 console.log(Math.round(1.3)); // => 1 console.log(Math.round(1.6)); // => 2 console.log(Math.round(-1.3)); // => -1
Math.truncメソッドは小数点以下を単純に切り落とした整数を返します。
// 単純に小数部分を切り落とす console.log(Math.trunc(1.3)); // => 1 console.log(Math.trunc(-1.3)); // => -1
まとめ
この章では、Mathオブジェクトについて学びました。 紹介したメソッドはMathオブジェクトの一部にすぎないため、そのほかにもメソッドが用意されています。