導入
プログラミングをしていると、「マイナスの数値をプラスに変換したい」という場面によく遭遇します。例えば、ゲームのキャラクターの移動距離を計算したり、2つの値の差分(距離)を求めたりする際です。そんな時に役立つのが、JavaScriptの標準機能であるMath.abs()です。これを使えば、複雑な条件分岐を書かずに、一行で数値を正の数に変換できます。
基礎知識
Math.abs()の「abs」は「absolute(絶対)」の略です。数学における「絶対値」とは、その数が0からどれだけ離れているかを表す距離のことです。
例えば、5の絶対値は5ですが、-5の絶対値も5になります。
JavaScriptでは、数値の符号を無視して「その数値の大きさ」だけを取り出したいときにこの関数を使用します。
実装/解決策
使い方は非常にシンプルです。Math.abs(数値)のように、カッコの中に変換したい数値を入れます。
・正の数を渡すと、そのまま正の数が返ります。
・負の数を渡すと、マイナス記号が取り除かれた正の数が返ります。
・文字列の数字(例: “-10″)を渡しても、JavaScriptが自動的に数値に変換して計算してくれます。
サンプルプログラム
以下のコードをブラウザのコンソールや、JavaScriptが実行できる環境で試してみてください。
// 1. 基本的な使い方
const num1 = -10;
const result1 = Math.abs(num1);
console.log("元の値:" + num1 + " -> 絶対値:" + result1); // 結果: 10
// 2. 文字列で渡しても自動的に処理される
const num2 = "-5.5";
console.log(Math.abs(num2)); // 結果: 5.5
// 3. 実践編:2つの座標の「距離」を求める
const point A = 10;
const point B = 3;
// 差分を計算して、必ずプラスの値にする
const distance = Math.abs(pointA - pointB);
console.log("2点間の距離は" + distance + "です"); // 結果: 7
応用・注意点
現場で活用する際の注意点は、「数値として解釈できないもの」を渡した場合です。
例えば、Math.abs(“こんにちは”)のように数値に変換できない文字列を渡すと、結果はNaN(Not a Number:数値ではない)が返ってきます。
また、空の配列[]を渡すと0が返るなど、JavaScript特有の型変換ルールが存在します。バグを防ぐために、計算に使用する変数が正しく数値であることを確認してからMath.abs()を呼ぶようにすると、より堅牢なコードになります。複雑な計算をする際は、ぜひこのシンプルなツールを活用してください!