JavaScriptのMathオブジェクトに関して(前編)

トモジのアイコン画像トモジ

Mathオブジェクトって何?
詳しく知りたい・・

本記事は、
上記のような方に向けて記事を書いています。

こんにちは、トモジです。

私はプログラミング未経験から独学で勉強して、
簡易的な動的サイト・ゲーム・サービスが作れる状態になりました。

本記事は、Mathオブジェクトに関して要点をわかりやすく説明しております。

記事の内容

1.JavaScriptのMathオブジェクト

Mathオブジェクトは、
数値型の値を操作するオブジェクトになり
数学に関する演算機能を補うものになります。

非常にたくさんの機能が提供されておりますので、
今回は前編(オレンジ枠)を順番に説明します。

numberオブジェクト一覧に関しての説明図
numberオブジェクト一覧

2.基本類

Mathオブジェクトの基本は、
以下の7種類のメンバーがありますので
順番に見ていきましょう。

Mathオブジェクトの[基本類]の説明図
Mathオブジェクトの基本類

abs

absは、絶対値を取得します。

absの説明図

absに関して

cosole.log('絶対値 : ' + Math.abs(-123));
出力結果

絶対値 : 123

clz32

clzは、
32ビットバイナリで先頭の 0 の個数を返します。
引数には数値(10進数)を入力します。

clz32の説明図

clz32に関して

// 1178(10進数) → 10010011010(2進数)
console.log('clz32 : ' + Math.clz32(1178));
出力結果

clz32(1178) : 21

max

maxは、引数の中で最も大きい数値を返します。

maxに関しての説明図

maxに関して

// 引数の中での最大値を出力
console.log('最大値 : ' + Math.max(10, 20, 30, 100, 0));
出力結果

最大値 : 100

min

minは、引数の中で最も小さい数値を返します。

minに関しての説明図

minに関して

// 引数の中での最小値を出力
console.log('最小値 : ' + Math.min(10, 20, 30, 100, 0));
出力結果

最小値 : 0

pow

powは、累乗になり
数値を指数回掛け合わせる事になります。

powに関しての説明図

powに関して

console.log('累乗(2の3乗) : ' + Math.pow(2, 3));
出力結果

累乗(2の3乗) : 8

random

randomは、0〜1未満(1は入らない)
までの小数による乱数を生成します。

randomの説明図

randomに関して

console.log('random : ' + Math.random());
出力結果

// 乱数なので数値はランダム
random : 0.36119375188882064

sign

signは、指定した値が
正の場合は[1]・負の場合[-1]・0の場合[0]
を返します。

signの説明図

signに関して

console.log('sign(正の場合) : ' + Math.sign(123));
console.log('sign(負の場合) : ' + Math.sign(-123));
console.log('sign(0の場合) : ' + Math.sign(0));
出力結果

sign(123) : 1
sign(-123) : -1
sign(0) : 0

3.切り上げ/切り捨て

Mathオブジェクトの[切り上げ/切り捨て]は、
以下の4種類のメンバーがありますので
順番に見ていきましょう。

Mathオブジェクトの[切り上げ/切り捨て]類の説明図
Mathオブジェクトの切り上げ/切り捨て類

ceil

ceilは、小数点以下の値を切り上げます。

ceilの説明図

ceilに関して

// 値が正の場合
console.log('ceil(正の場合) : ' + Math.ceil(1.2));
console.log('ceil(正の場合) : ' + Math.ceil(1.8));

// 値が負の場合
console.log('ceil(負の場合) : ' + Math.ceil(-1.2));
console.log('ceil(負の場合) : ' + Math.ceil(-1.8));
出力結果

ceil(1.2) : 2
ceil(1.8) : 2
ceil(-1.2) : -1
ceil(-1.8) : -1

floor

floorは、小数点以下の値を切り捨てます。
※負の値の切り捨てに注意
[-2.2-2ではなく-3になる]

floorの説明図

floorに関して

// 値が正の場合
console.log('floor(正の場合) : ' + Math.floor(1.2));
console.log('floor(正の場合) : ' + Math.floor(1.8));

// 値が負の場合
console.log('floor(負の場合) : ' + Math.floor(-1.2));
console.log('floor(負の場合) : ' + Math.floor(-1.8));
出力結果

floor(1.2) : 1
floor(1.8) : 1
floor(-1.2) : -2
floor(-1.8) : -2

round

roundは、少数第一位を四捨五入します。

roundの説明図

roundに関して

// 値が正の場合
console.log('round(正の場合) : ' + Math.round(1.2));
console.log('round(正の場合) : ' + Math.round(1.8));
console.log('round(正の場合) : ' + Math.round(1.23));
console.log('round(正の場合) : ' + Math.round(1.93));

// 値が負の場合
console.log('round(負の場合) : ' + Math.round(-1.2));
console.log('round(負の場合) : ' + Math.round(-1.8));
出力結果

round(正の場合) : 1
round(正の場合) : 2
round(正の場合) : 1
round(正の場合) : 2
round(負の場合) : -1
round(負の場合) : -2

trunc

truncは、小数点以下を単純に切り捨てます。

truncの説明図

truncに関して

// 値が正の場合
console.log('trunc(正の場合) : ' + Math.trunc(1.2));
console.log('trunc(正の場合) : ' + Math.trunc(1.8));

// 値が負の場合
console.log('trunc(負の場合) : ' + Math.trunc(-1.2));
console.log('trunc(負の場合) : ' + Math.trunc(-1.8));
出力結果

trunc(1.2) : 1
trunc(1.8) : 1
trunc(-1.2) : -1
trunc(-1.8) : -1

4.平方根[ルート]

Mathオブジェクトの[平方根]は、
以下の5種類のメンバーがありますので
順番に見ていきましょう。

Mathオブジェクトの[平方根]類の説明図
Mathオブジェクトの平方根類

SQRT1_2

SQRT1_2は、1/2の平方根になります。

SQRT1_2の説明図

SQRT1_2関して

console.log('SQRT1_2 : ' + Math.SQRT1_2);
出力結果

SQRT1_2 : 0.7071067811865476

SQRT2

SQRT2は、2の平方根になります。

SQRT2の説明図

SQRT2関して

console.log('SQRT2 : ' + Math.SQRT2);
出力結果

SQRT2 : 1.4142135623730951

sqrt

sqrtは、平方根になります。

sqrtの説明図

sqrt関して

console.log('sqrt3 : ' + Math.sqrt(3));
console.log('sqrt5 : ' + Math.sqrt(5));
出力結果

sqrt3 : 1.7320508075688772
sqrt5 : 2.23606797749979

cbrt

cbrtは、立方根になります。

cbrtの説明図

cbrt関して

console.log('cbrt : ' + Math.cbrt(8));
console.log('cbrt : ' + Math.cbrt(27));
出力結果

cbrt(8) : 2
cbrt(27) : 3

hypot

hypotは、引数の和の平方根になります。

hypotの説明図

hypot関して

// ルート2
console.log('hypot(1+1) : ' + Math.hypot(1, 1));
// ルート3
console.log('hypot(1+2) : ' + Math.hypot(1, 2));
出力結果

hypot(1+1) : 1.4142135623730951
hypot(1+2) : 2.23606797749979

まとめ

最後にこの記事のポイントをまとめておきます。

まとめ

基本

  • abs
    絶対値を取得

  • clz32
    32ビットバイナリでの 0 の個数

  • max
    引数の中で最も大きい数値

  • min
    引数の中で最も小さい数値

  • pow
    累乗

  • random
    0〜1未満までの乱数

  • sign
    正[1]・負[-1]・0[0]を返す



切り上げ/切り捨て

  • ceil
    小数点以下の値を切り上げ

  • floor
    小数点以下の値を切り捨て
    [マイナス値に注意]

  • round
    少数第一位を四捨五入

  • trunc
    数点以下を切り捨て



平方根

  • SQRT1_2
    ルート1/2の値

  • SQRT2
    ルート2の値

  • sqrt
    平方根

  • cbrt
    立方根

  • hypot
    引数の和の平方根

記事の内容
閉じる