L'objet Math est un objet natif dont les méthodes et propriétés permettent l'utilisation de constantes et fonctions mathématiques. Cet objet n'est pas une fonction.

Description

Contrairement aux autres objets globaux, Math n'est pas un constructeur. Toutes les propriétés et les méthodes de Math sont statiques (pour éventuellement étendre cette API, ce qui est fortement déconseillé, on n'utilisera donc pas Math.prototype).

Pour accéder à la constante PI, on utilise Math.PI.
Pour accéder à la fonction sinus, on utilise Math.sin(x)x est l'argument de cette méthode.

Les constantes sont définies avec la précision des nombres réels en JavaScript.

Propriétés

Math.E
Nombre d'Euler, la base des logarithmes naturels, environ 2,718.
Math.LN2
Logarithme naturel de 2, environ 0,693.
Math.LN10
Logarithme naturel de 10, environ 2,302.
Math.LOG2E
Logarithme de base 2 de E, environ 1,442.
Math.LOG10E
Logarithme de base 10 de E, environ 0,434.
Math.PI
Quotient de la circonférence d'un cercle par son diamètre, environ 3,14159.
Math.SQRT1_2
Racine carrée de 1/2 ; équivalent de 1 sur la racine carrée de 2, environ 0,707.
Math.SQRT2
Racine carrée de 2, environ 1,414.

Méthodes

Les fonctions trigonométriques (sin(), cos(), tan(), asin(), acos(), atan(), atan2()) acceptent ou retournent des angles en radians.
Pour convertir des degrés en radians, multipliez la valeur en degrés par (Math.PI / 180).
Pour passer des radians en degrés, divisez la valeur en radians par (Math.PI / 180).
La précision des fonctions mathématiques dépend notamment de l'implémentation. Cela signifie que différents navigateurs peuvent fournir des résultats différents. On peut même avoir un même moteur JavaScript qui, sur des architectures et/ou des systèmes d'exploitation différents, fournit des résultats différents.
Math.abs(x)
Retourne la valeur absolue d'un nombre.
Math.acos(x)
Retourne l'arc cosinus d'un nombre.
Math.acosh(x)
Retourne l'arc cosinus hyperbolique d'un nombre.
Math.asin(x)
Retourne l'arc sinus d'un nombre.
Math.asinh(x)
Retourne l'arc sinus hyperbolique d'un nombre.
Math.atan(x)
Retourne l'arc tangente d'un nombre.
Math.atanh(x)
Retourne l'arc tangente hyperbolique d'un nombre
Math.atan2(y, x)
Retourne l'arc tangente du quotient de ses arguments.
Math.cbrt(x)
Renvoie la racine cubique d'un nombre.
Math.ceil(x)
Retourne le plus petit entier supérieur ou égal à la valeur passée en paramètre.
Math.clz32(x)
Renvoie le nombre de zéros qui préfixent un entier sur 32 bits.
Math.cos(x)
Retourne le cosinus d'un nombre.
Math.cosh(x)
Renvoie le cosinus hyperbolique d'un nombre.
Math.exp(x)
Renvoie l'exponentielle d'un nombre (soit Enombre) avec E la constante d'Euler (2,718...).
Math.expm1(x)
Renvoie le résultat de 1 moins l'exponentielle d'un nombre.
Math.floor(x)
Retourne le plus grand entier inférieur ou égal à la valeur passée en paramètre.
Math.fround(x)
Renvoie le nombre flottant exprimé sur 32 bits le plus proche de l'argument.
Math.hypot([x[,y[,…]]])
Retourne la racine carré de la somme des carrés des arguments.
Math.imul(x, y)
Retourne le résultat de la multiplication d'entiers sur 32 bits.
Math.log(x)
Retourne le logarithme naturel (loge) d'un nombre.
Math.log1p(x)
Retourne le logarithme naturel de 1 + un nombre.
Math.log10(x)
Retourne le logarithme en base 10 d'un nombre.
Math.log2(x)
Retourne le logarithme en base 2 d'un nombre.
Math.max([x[,y[,…]]])
Retourne la plus grande valeur d'une liste de nombres.
Math.min([x[,y[,…]]])
Retourne la plus petite valeur d'une liste de nombres.
Math.pow(x,y)
Retourne le calcul de x à la puissance y (x correspond à la base et y à l'exposant).
Math.random()
Retourne un nombre pseudo-aléatoire compris entre 0 (inclus) et 1 (exclu).
Math.round(x)
Retourne l'arrondi d'un nombre.
Math.sign(x)
Retourne le signe d'un nombre, indiquant s'il est positif, négatif ou égal à zéro.
Math.sin(x)
Retourne le sinus d'un nombre.
Math.sinh(x)
Retourne le sinus hyperbolique d'un nombre.
Math.sqrt(x)
Retourne la racine carrée d'un nombre.
Math.tan(x)
Retourne la tangente d'un nombre.
Math.tanh(x)
Retourne la tangente hyperbolique d'un nombre
Math.toSource()
Renvoie la chaîne de caractères "Math".
Math.trunc(x)
Retourne la partie entière d'un nombre (la partie décimale est retirée).

Spécifications

Spécification État Commentaires
ECMAScript 1st Edition (ECMA-262) Standard Définition initiale. Implémentée avec JavaScript 1.1
ECMAScript 5.1 (ECMA-262)
La définition de 'Math' dans cette spécification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Math' dans cette spécification.
Standard Nouvelles méthodes ajoutées : log10(), log2(), log1p(), expm1(), cosh(), sinh(), tanh(), acosh(), asinh(), atanh(), hypot(), trunc(), sign(), imul(), fround(), cbrt() et clz32().
ECMAScript Latest Draft (ECMA-262)
La définition de 'Math' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung InternetNode.js
EChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
LN2Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
LN10Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
LOG2EChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
LOG10EChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
PIChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
SQRT1_2Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
SQRT2Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
absChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
acosChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
acoshChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
asinChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
asinhChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
atanChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
atan2Chrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
atanhChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
cbrtChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
ceilChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
clz32Chrome Support complet 38Edge Support complet OuiFirefox Support complet 31IE Aucun support NonOpera Support complet 25Safari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 31Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet 0.12
cosChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
coshChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
expChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
expm1Chrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
floorChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
froundChrome Support complet 38Edge Support complet OuiFirefox Support complet 26IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 26Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
hypotChrome Support complet 38Edge Support complet OuiFirefox Support complet 27IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 27Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
imulChrome Support complet 28Edge Support complet OuiFirefox Support complet 20IE Aucun support NonOpera Support complet 16Safari Support complet 7WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 20Opera Android Support complet OuiSafari iOS Support complet 7Samsung Internet Android Support complet Ouinodejs Support complet 0.12
logChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
log1pChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
log2Chrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
log10Chrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
maxChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
minChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
powChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
randomChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
roundChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
signChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 9WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet 0.12
sinChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
sinhChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
sqrtChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
tanChrome Support complet OuiEdge Support complet OuiFirefox Support complet 1IE Support complet OuiOpera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui
tanhChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12
truncChrome Support complet 38Edge Support complet OuiFirefox Support complet 25IE Aucun support NonOpera Support complet 25Safari Support complet 8WebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 25Opera Android Support complet OuiSafari iOS Support complet 8Samsung Internet Android Support complet Ouinodejs Support complet 0.12

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight, teoli, tregagnon, fred.wang, guymage, rm1720
Dernière mise à jour par : SphinxKnight,