--- title: Math.asinh() slug: Web/JavaScript/Reference/Global_Objects/Math/asinh tags: - Referencia - metodo translation_of: Web/JavaScript/Reference/Global_Objects/Math/asinh ---
{{JSRef}}

A função Math.asinh() retorna o arco-seno hiperbólico de um número, isto é:

Math.asinh(x)=arsinh(x)= the unique ysuch thatsinh(y)=x\mathtt{\operatorname{Math.asinh}(x)} = \operatorname{arsinh}(x) = \text{o} \; y \; \text{único tal que} \; \sinh(y) = x

{{EmbedInteractiveExample("pages/js/math-asinh.html")}}

Sintaxe

Math.asinh(x)

Parâmetros

x
Um número.

Valor de retorno

O arco-seno hiperbólico de um dado número.

Descrição

Como asinh() é um métodos estático de Math, você deve sempre chamá-lo como Math.asinh(), ao invés de um método de um objeto Math que você criou (Math não é um construtor).

Exemplos

Usando Math.asinh()

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

Polyfill

Como uma solução simples a expressçao\operatorname {arsinh} (x) = \ln \left(x + \sqrt{x^{2} + 1} \right) pode ser usada diretamente para uma emulação grosseira pela seguinte função:

Math.asinh = Math.asinh || function(x) {
  if (x === -Infinity) {
    return x;
  } else {
    return Math.log(x + Math.sqrt(x * x + 1));
  }
};

Apesar de formalmente correta, ela sofre de algumas problemas relacionadas à computação de ponto flutuante. Resultados precisos precisam de tratamento especial de positivos/negativos e argumentos pequenos/grandes como feitos por exemplo em em glibc ouGNU Scientific Library.

Especificações

Specification Status Comment
{{SpecName('ES6', '#sec-math.asinh', 'Math.asinh')}} {{Spec2('ES6')}} Initial definition.
{{SpecName('ESDraft', '#sec-math.asinh', 'Math.asinh')}} {{Spec2('ESDraft')}}  

Compatibilidade com navegadores

{{Compat("javascript.builtins.Math.asinh")}}

Veja também