--- title: Math.tanh() slug: Web/JavaScript/Reference/Global_Objects/Math/tanh tags: - ECMAScript 2015 - JavaScript - Math - Méthode - Reference - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/Math/tanh original_slug: Web/JavaScript/Reference/Objets_globaux/Math/tanh ---
{{JSRef}}

La fonction Math.tanh() renvoie la tangente hyperbolique d'un nombre définie par :

tanhx=sinhxcoshx=ex-e-xex+e-x=e2x-1e2x+1\tanh x = \frac{\sinh x}{\cosh x} = \frac {e^x - e^{-x}} {e^x + e^{-x}} = \frac{e^{2x} - 1}{e^{2x}+1}

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

Syntaxe

Math.tanh(x)

Paramètres

x
Un nombre.

Valeur de retour

La tangente hyperbolique du nombre fourni en argument.

Description

tanh() est une méthode statique de l'objet Math, elle doit toujours être utilisée avec la syntaxe Math.tanh(), elle ne doit pas être utilisée comme une méthode d'un objet Math qui aurait été instancié (Math n'est pas une constructeur).

Exemples

Utiliser Math.tanh()

Math.tanh(0);        // 0
Math.tanh(Infinity); // 1
Math.tanh(1);        // 0.7615941559557649

Prothèse d'émulation (polyfill)

Cette méthode peut être émulée grâce à la fonction {{jsxref("Objets_globaux/Math/exp", "Math.exp()")}} :

Math.tanh = Math.tanh || function(x){
  var a = Math.exp(+x), b = Math.exp(-x);
  return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (a + b);
}

et si on souhaite n'utiliser qu'un seul appel à {{jsxref("Objets_globaux/Math/exp", "Math.exp()")}} :

Math.tanhx = Math.tanhx || function(x) {
  if(x === Infinity) {
    return 1;
  } else if(x === -Infinity) {
    return -1;
  } else {
    var y = Math.exp(2 * x);
    return (y - 1) / (y + 1);
  }
};

Spécifications

Spécification État Commentaires
{{SpecName('ES2015', '#sec-math.tanh', 'Math.tanh')}} {{Spec2('ES2015')}} Définition initiale.
{{SpecName('ESDraft', '#sec-math.tanh', 'Math.tanh')}} {{Spec2('ESDraft')}}  

Compatibilité des navigateurs

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

Voir aussi