6時だョ!!全員集合!!

Rails・JavaScrictを中心にアウトプットします。

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.maxMath.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オブジェクトの一部にすぎないため、そのほかにもメソッドが用意されています。

  • Mathは数学的な定数や関数を提供するビルトインオブジェクト
  • Mathはコンストラクタではないためインスタンス化できない
  • 疑似乱数の生成、数値の比較、数値の計算などを行うメソッドが提供されている

参考

Math(JSprimer)