The Math.asinh() function returns the hyperbolic arcsine of a number, that is

$Math.asinh ( x ) = arsinh ( x ) = the unique y such that sinh ( y ) = x \mathtt{\operatorname{Math.asinh}(x)} = \operatorname{arsinh}(x) = \text{ the unique } \; y \; \text{such that} \; \sinh(y) = x$

Syntax

Math.asinh(x)

Parameters

x
A number.

Return value

The hyperbolic arcsine of the given number.

Description

Because asinh() is a static method of Math, you always use it as Math.asinh(), rather than as a method of a Math object you created (Math is not a constructor).

Examples

Using Math.asinh()

Math.asinh(1);  // 0.881373587019543
Math.asinh(0);  // 0


Polyfill

Math.asinh can be emulated with the following function:

if (!Math.asinh) Math.asinh = function(x) {
var absX = Math.abs(x), w
if (absX < 3.725290298461914e-9) // |x| < 2^-28
return x
if (absX > 268435456) // |x| > 2^28
w = Math.log(absX) + Math.LN2
else if (absX > 2) // 2^28 >= |x| > 2
w = Math.log(2 * absX + 1 / (Math.sqrt(x * x + 1) + absX))
else
var t = x * x, w = Math.log1p(absX + t / (1 + Math.sqrt(1 + t)))

return x > 0 ? w : -w
}


Math.log1p may also have to be polyfilled; see Math.log1p for details.

Browser compatibility

BCD tables only load in the browser