This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The Math.abs() static method returns the absolute value of a number.
function difference(a, b) {
return Math.abs(a - b);
}
console.log(difference(3, 5));
// Expected output: 2
console.log(difference(5, 3));
// Expected output: 2
console.log(difference(1.23456, 7.89012));
// Expected output: 6.6555599999999995
Math.abs(x)
xA number.
The absolute value of x. If x is negative or -0, returns its opposite number -x (which is non-negative). Otherwise, returns x itself. The result is therefore always a positive number or 0.
Because abs() is a static method of Math, you always use it as Math.abs(), rather than as a method of a Math object you created (Math is not a constructor).
Math.abs(-Infinity); // Infinity Math.abs(-1); // 1 Math.abs(-0); // 0 Math.abs(0); // 0 Math.abs(1); // 1 Math.abs(Infinity); // Infinity
Math.abs() coerces its parameter to a number. Non-coercible values will become NaN, making Math.abs() also return NaN.
Math.abs("-1"); // 1
Math.abs(-2); // 2
Math.abs(null); // 0
Math.abs(""); // 0
Math.abs([]); // 0
Math.abs([2]); // 2
Math.abs([1, 2]); // NaN
Math.abs({}); // NaN
Math.abs("string"); // NaN
Math.abs(); // NaN
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-math.abs> |
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
abs |
1 | 12 | 1 | 3 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 | 1.0.0 | 1.0 | 0.10.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs