Math.log()

La fonction Math.log() renvoie le logarithme naturel (aussi appelé logarithme népérien) d'un nombre, défini par :

x>0,Math.log(x)=ln(x)=le seul ytel queey=x\forall x > 0, \mathtt{\operatorname{Math.log}(x)} = \ln(x) = \text{the unique} \; y \; \text{such that} \; e^y = x

Syntaxe

Math.log(x)

Paramètres

x
Un nombre.

Valeur de retour

Le logarithme naturelle de la valeur passée en argument. Si cette valeur est négative, c'est NaN qui est renvoyé.

Description

Si la valeur de l'argument est négative, la valeur renvoyée sera NaN. Si la valeur de l'argument est 0, la valeur de retour sera -Infinity.

log() est une méthode statique de Math, elle doit toujours être utilisée avec la syntaxe Math.log(), elle ne doit pas être utilisée à partir d'un autre objet qui aurait été créé (Math n'est pas un constructeur). Si on veut utiliser les constantes données par les logarithmes naturels de 2 ou 10, on pourra utiliser les constantes Math.LN2 ou Math.LN10. De même pour les logarithmes en base 2 ou en base 10, on pourra utiliser Math.log2() or Math.log10().

Exemples

Utiliser Math.log()

Math.log(-1); // NaN, valeur en dehors de l'intervalle de définition
Math.log(0);  // -Infinity
Math.log(1);  // 0
Math.log(10); // 2.302585092994046

Utiliser Math.log pour construire un logarithme sur une autre base

La fonction suivante renvoie le logarithme de y en base x (c'est-à-dire logx y):

function getBaseLog(x, y) {
    return Math.log(y) / Math.log(x);
}

Si on exécute getBaseLog(10, 1000), on obtiendra 2.9999999999999996 en raison de l'arrondi du à la représentation en nombre flottant (le résultat exact étant 3).

Spécifications

Spécification État Commentaires
ECMAScript 1st Edition (ECMA-262) Standard Définition initiale. Implémentée avec JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
La définition de 'Math.log' dans cette spécification.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Math.log' dans cette spécification.
Standard
ECMAScript (ECMA-262)
La définition de 'Math.log' dans cette spécification.
Standard évolutif

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
logChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 3Opera Support complet 3Safari Support complet 1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet 0.1.100

Légende

Support complet  
Support complet

Voir aussi