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.
Standard évolutif  

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
E Oui Oui Oui Oui Oui Oui
LN2 Oui Oui Oui Oui Oui Oui
LN10 Oui Oui Oui Oui Oui Oui
LOG2E Oui Oui Oui Oui Oui Oui
LOG10E Oui Oui Oui Oui Oui Oui
PI Oui Oui Oui Oui Oui Oui
SQRT1_2 Oui Oui Oui Oui Oui Oui
SQRT2 Oui Oui Oui Oui Oui Oui
abs Oui Oui Oui Oui Oui Oui
acos Oui Oui Oui Oui Oui Oui
acosh38 Oui25 Non258
asin Oui Oui Oui Oui Oui Oui
asinh38 Oui25 Non258
atan Oui Oui Oui Oui Oui Oui
atan2 Oui Oui Oui Oui Oui Oui
atanh38 Oui25 Non258
cbrt38 Oui25 Non258
ceil Oui Oui Oui Oui Oui Oui
clz3238 Oui31 Non25 Oui
cos Oui Oui Oui Oui Oui Oui
cosh38 Oui25 Non258
exp Oui Oui Oui Oui Oui Oui
expm138 Oui25 Non258
floor Oui Oui Oui Oui Oui Oui
fround38 Oui26 Non258
hypot38 Oui27 Non258
imul28 Oui20 Non167
log Oui Oui Oui Oui Oui Oui
log1p38 Oui25 Non258
log238 Oui25 Non258
log1038 Oui25 Non258
max Oui Oui Oui Oui Oui Oui
min Oui Oui Oui Oui Oui Oui
pow Oui Oui Oui Oui Oui Oui
random Oui Oui Oui Oui Oui Oui
round Oui Oui Oui Oui Oui Oui
sign38 Oui25 Non259
sin Oui Oui Oui Oui Oui Oui
sinh38 Oui25 Non258
sqrt Oui Oui Oui Oui Oui Oui
tan Oui Oui Oui Oui Oui Oui
tanh38 Oui25 Non258
trunc38 Oui25 Non258
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
E Oui Oui Oui Oui Oui Oui Oui
LN2 Oui Oui Oui Oui Oui Oui Oui
LN10 Oui Oui Oui Oui Oui Oui Oui
LOG2E Oui Oui Oui Oui Oui Oui Oui
LOG10E Oui Oui Oui Oui Oui Oui Oui
PI Oui Oui Oui Oui Oui Oui Oui
SQRT1_2 Oui Oui Oui Oui Oui Oui Oui
SQRT2 Oui Oui Oui Oui Oui Oui Oui
abs Oui Oui Oui Oui Oui Oui Oui
acos Oui Oui Oui Oui Oui Oui Oui
acosh Oui Oui Oui25 Non Oui8
asin Oui Oui Oui Oui Oui Oui Oui
asinh Oui Oui Oui25 Non Oui8
atan Oui Oui Oui Oui Oui Oui Oui
atan2 Oui Oui Oui Oui Oui Oui Oui
atanh Oui Oui Oui25 Non Oui8
cbrt Oui Oui Oui25 Non Oui8
ceil Oui Oui Oui Oui Oui Oui Oui
clz32 Oui Oui Oui31 Non Oui Oui
cos Oui Oui Oui Oui Oui Oui Oui
cosh Oui Oui Oui25 Non Oui8
exp Oui Oui Oui Oui Oui Oui Oui
expm1 Oui Oui Oui25 Non Oui8
floor Oui Oui Oui Oui Oui Oui Oui
fround Oui Oui Oui26 Non Oui8
hypot Oui Oui Oui27 Non Oui8
imul Oui Oui Oui20 Non Oui7
log Oui Oui Oui Oui Oui Oui Oui
log1p Oui Oui Oui25 Non Oui8
log2 Oui Oui Oui25 Non Oui8
log10 Oui Oui Oui25 Non Oui8
max Oui Oui Oui Oui Oui Oui Oui
min Oui Oui Oui Oui Oui Oui Oui
pow Oui Oui Oui Oui Oui Oui Oui
random Oui Oui Oui Oui Oui Oui Oui
round Oui Oui Oui Oui Oui Oui Oui
sign Oui Oui Oui25 Non Oui Oui
sin Oui Oui Oui Oui Oui Oui Oui
sinh Oui Oui Oui25 Non Oui8
sqrt Oui Oui Oui Oui Oui Oui Oui
tan Oui Oui Oui Oui Oui Oui Oui
tanh Oui Oui Oui25 Non Oui8
trunc Oui Oui Oui25 Non Oui8

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,