Math.asinh()

Math.asinh() 関数は、数値の双曲線逆正弦 (ハイパーボリックアークサイン) を返します。

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

構文

Math.asinh(x)

引数

x
数値

返値

与えられた数値の双曲線逆正弦 (ハイパーボリックアークサイン) です。

解説

asinh()Math の静的メソッドであるため、生成した Math オブジェクトのメソッドとしてではなく、常に Math.asinh() として使用するようにしてください (Math はコンストラクターではありません)。

Math.asinh() の使用

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

ポリフィル

Math.asinh は、次の関数でエミュレートできます。

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 にもポリフィルを適用する必要があるかもしれません。詳しくは Math.log1p を参照してください。

仕様書

仕様書
ECMAScript (ECMA-262)
Math.asinh の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
asinhChrome 完全対応 38Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 25Safari 完全対応 8WebView Android 完全対応 38Chrome Android 完全対応 38Firefox Android 完全対応 25Opera Android 完全対応 25Safari iOS 完全対応 8Samsung Internet Android 完全対応 3.0nodejs 完全対応 0.12

凡例

完全対応  
完全対応
未対応  
未対応

関連情報