JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのMath.abs()メソッドとは?絶対値を求める使い方を実例付きで解説

Math.abs()メソッドとは

Math.abs()は、JavaScriptの組み込みオブジェクトであるMathが提供するメソッドの一つで、引数に渡した数値の「絶対値」を返します。絶対値とは、その数値から符号(プラス・マイナス)を取り除いた、値の大きさそのものを表す概念です。

Math.abs(p) = |p| = {  p   (p > 0 のとき)                 {  0  (p = 0 のとき)                 { -p  (p < 0 のとき)

この数学的な定義を見ると、pが正の数であれば絶対値はそのままpとなり、pが負の数であれば-p、つまり符号を反転させた値になります。たとえばpが-5の場合、絶対値は-(-5)となり、これは+5と等しくなります。つまり、Math.abs()は入力された数値の符号が正であっても負であっても、常に正の値(または0)を返すことが分かります。

例1:2つの数値の差の絶対値を求める

次の例では、1と9の差の絶対値を求めています。実際の差は-8(負の値)ですが、Math.abs()によって8という正の値が返されます。

<html>
<body>
<script>
   function myDiff(a, b) {
      return Math.abs(a - b);
   }
   document.write(myDiff(1, 9));
</script>
</body>
</html>

出力結果

8

例2:負の小数を正の値に変換する

次の例では、Math.abs()メソッドを使って、負の値として渡された小数を正の値に変換して表示しています。

<html>
<body>
<p id="absolute"></p>
<script>
   document.getElementById("absolute").innerHTML = Math.abs(-5.13);
</script>
</body>
</html>

出力結果

5.13

補足:Math.abs()の挙動について

Math.abs()は整数だけでなく小数にも対応しており、無限大を表す-Infinityを渡した場合はInfinityが返されます。また、数値以外の値や引数なしで呼び出した場合はNaN(Not a Number)が返されるため、使用する際は引数が数値であることを確認しておくと安全です。

  1. JavaScriptのMath.imul()関数とは?32ビット乗算の使い方を解説

    Math.imul()関数とは JavaScriptのMath.imul()関数は、通常の掛け算とは異なり、2つの引数に対してC言語と同様の32ビット乗算を実行し、その結果を返すメソッドです。一般的な乗算演算子(*)では正確に扱えない大きな数値や、ビットレベルの演算が必要な場面で活躍します。 この関数は、特にEmscriptenのようなプロジェクトにおいて重要な役割を果たしています。EmscriptenはC/C++のコードをJavaScriptに変換するツールであり、変換後のコードでC言語と同じ32ビット整数の挙動を再現するために、Math.imul()が頻繁に利用されます。 構文 var

  2. JavaScriptのWeakMapでclear()メソッドを使う方法とは?

    WeakMapのclear()メソッドとはWeakMapオブジェクトのclear()メソッドは、そのWeakMapに格納されているすべてのキーと値のペアを一括で削除するためのメソッドです。しかし、このメソッドは現在のECMAScriptの仕様からは削除されています。そのため、標準のWeakMapに対して直接clear()を呼び出すことはできません。とはいえ、WeakMapオブジェクトをラップするクラスを作成し、clear()メソッドに対応した処理を追加することで、同様の機能を簡単に実現できます。実装例:clear()メソッドを持つWeakMapラッパークラスclass ClearableWea