Math
====

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.

**Attention :** `Math` fonctionne avec le type `Number`. Il ne fonctionne pas avec les grands entiers/`BigInt`.

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)` où `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
--------

**Note :** 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`).

**Note :** 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 E^nombre) 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 (log

e

) 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()` 
Non-standard

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
--------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-math-object |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Number`