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

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 AndroidOpera AndroidiOS SafariSamsung Internet
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 ?
acosh Oui Oui Oui25 Oui8 ?
asin Oui Oui Oui Oui Oui Oui ?
asinh Oui Oui Oui25 Oui8 ?
atan Oui Oui Oui Oui Oui Oui ?
atan2 Oui Oui Oui Oui Oui Oui ?
atanh Oui Oui Oui25 Oui8 ?
cbrt Oui Oui Oui25 Oui8 ?
ceil Oui Oui Oui Oui Oui Oui ?
clz32 Oui Oui Oui31 Oui Oui ?
cos Oui Oui Oui Oui Oui Oui ?
cosh Oui Oui Oui25 Oui8 ?
exp Oui Oui Oui Oui Oui Oui ?
expm1 Oui Oui Oui25 Oui8 ?
floor Oui Oui Oui Oui Oui Oui ?
fround Oui Oui Oui26 Oui8 ?
hypot Oui Oui Oui27 Oui8 ?
imul Oui Oui Oui20 Oui7 ?
log Oui Oui Oui Oui Oui Oui ?
log1p Oui Oui Oui25 Oui8 ?
log2 Oui Oui Oui25 Oui8 ?
log10 Oui Oui Oui25 Oui8 ?
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 ?
sign Oui Oui Oui25 Oui Oui ?
sin Oui Oui Oui Oui Oui Oui ?
sinh Oui Oui Oui25 Oui8 ?
sqrt Oui Oui Oui Oui Oui Oui ?
tan Oui Oui Oui Oui Oui Oui ?
tanh Oui Oui Oui25 Oui8 ?
trunc Oui Oui Oui25 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,