Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Math

Baseline Widely available *

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.

L'objet espace de noms Math contient des propriétés et des méthodes statiques pour les constantes et fonctions mathématiques.

Math fonctionne avec le type Number. Il ne fonctionne pas avec BigInt.

Description

Contrairement à la plupart des objets natifs standards, Math n'est pas un constructeur. Vous ne pouvez pas l'utiliser avec l'opérateur new ni invoquer l'objet Math comme une fonction. Toutes les propriétés et méthodes de Math sont statiques.

Note : De nombreuses fonctions de Math ont une précision qui dépend de l'implémentation.

Cela signifie que différents navigateurs peuvent donner des résultats différents. Même un même moteur JavaScript, sur un autre système d'exploitation ou une autre architecture, peut donner des résultats différents !

Propriétés statiques

Math.E

Nombre d'Euler, la base des logarithmes naturels ; environ 2,718.

Math.LN10

Logarithme naturel de 10 ; environ 2,303.

Math.LN2

Logarithme naturel de 2 ; environ 0,693.

Math.LOG10E

Logarithme en base 10 de E ; environ 0,434.

Math.LOG2E

Logarithme en base 2 de E ; environ 1,443.

Math.PI

Quotient de la circonférence d'un cercle par son diamètre ; environ 3,14159.

Math.SQRT1_2

Racine carrée de ½ ; environ 0,707.

Math.SQRT2

Racine carrée de 2 ; environ 1,414.

Math[Symbol.toStringTag]

La valeur initiale de la propriété [Symbol.toStringTag] est la chaîne de caractères "Math". Cette propriété est utilisée dans Object.prototype.toString().

Méthodes statiques

Math.abs()

Retourne la valeur absolue de l'argument.

Math.acos()

Retourne l'arc cosinus de l'argument.

Math.acosh()

Retourne l'arc cosinus hyperbolique de l'argument.

Math.asin()

Retourne l'arc sinus de l'argument.

Math.asinh()

Retourne l'arc sinus hyperbolique de l'argument.

Math.atan()

Retourne l'arc tangente de l'argument.

Math.atan2()

Retourne l'arc tangente du quotient de ses arguments.

Math.atanh()

Retourne l'arc tangente hyperbolique de l'argument.

Math.cbrt()

Retourne la racine cubique de l'argument.

Math.ceil()

Retourne le plus petit entier supérieur ou égal à l'argument.

Math.clz32()

Retourne le nombre de zéros de tête dans la représentation binaire sur 32 bits de l'argument.

Math.cos()

Retourne le cosinus de l'argument.

Math.cosh()

Retourne le cosinus hyperbolique de l'argument.

Math.exp()

Retourne ex, où x est l'argument, et e est le nombre d'Euler (2,718…, la base du logarithme naturel).

Math.expm1()

Retourne le résultat de exp(x) moins 1.

Math.floor()

Retourne le plus grand entier inférieur ou égal à l'argument.

Math.f16round()

Retourne la représentation flottante en demi-précision (angl.) la plus proche de l'argument.

Math.fround()

Retourne la représentation flottante en simple précision (angl.) la plus proche de l'argument.

Math.hypot()

Retourne la racine carrée de la somme des carrés de ses arguments.

Math.imul()

Retourne le résultat de la multiplication d'entiers sur 32 bits de ses arguments.

Math.log()

Retourne le logarithme naturel (㏒e ; aussi, ㏑) de l'argument.

Math.log10()

Retourne le logarithme en base 10 de l'argument.

Math.log1p()

Retourne le logarithme naturel (㏒e ; aussi ㏑) de 1 + x pour le nombre x.

Math.log2()

Retourne le logarithme en base 2 de l'argument.

Math.max()

Retourne la plus grande valeur parmi zéro ou plusieurs nombres.

Math.min()

Retourne la plus petite valeur parmi zéro ou plusieurs nombres.

Math.pow()

Retourne la base x élevée à la puissance y (c'est-à-dire xy).

Math.random()

Retourne un nombre pseudo-aléatoire compris entre 0 et 1.

Math.round()

Retourne la valeur de l'argument arrondie à l'entier le plus proche.

Math.sign()

Retourne le signe de l'argument, indiquant s'il est positif, négatif ou nul.

Math.sin()

Retourne le sinus de l'argument.

Math.sinh()

Retourne le sinus hyperbolique de l'argument.

Math.sqrt()

Retourne la racine carrée positive de l'argument.

Math.sumPrecise()

Retourne la somme d'un itérable de nombres passé en argument, en évitant la perte de précision en virgule flottante lors des résultats intermédiaires.

Math.tan()

Retourne la tangente de l'argument.

Math.tanh()

Retourne la tangente hyperbolique de l'argument.

Math.trunc()

Retourne la partie entière de l'argument, en supprimant toute partie fractionnaire.

Exemples

Convertir entre degrés et radians

Les fonctions trigonométriques sin(), cos(), tan(), asin(), acos(), atan() et atan2() attendent (et retournent) des angles en radians.

Comme les humain·e·s ont tendance à penser en degrés, et que certaines fonctions (comme les transformations CSS) peuvent accepter des degrés, il est utile d'avoir des fonctions à portée de main pour convertir entre les deux :

js
function degToRad(degrees) {
  return degrees * (Math.PI / 180);
}

function radToDeg(rad) {
  return rad / (Math.PI / 180);
}

Calculer la hauteur d'un triangle équilatéral

Si nous voulons calculer la hauteur d'un triangle équilatéral et que nous savons que la longueur de ses côtés est de 100, nous pouvons utiliser la formule longueur de l'adjacent multipliée par la tangente de l'angle est égale à l'opposé.

Un triangle équilatéral où une perpendiculaire à un côté est tracée depuis le sommet opposé, formant un triangle rectangle avec trois côtés marqués « adjacent », « opposé » et « hypoténuse ». L'angle entre les côtés « adjacent » et « hypoténuse » est de 60 degrés.

En JavaScript, on peut faire cela avec :

js
50 * Math.tan(degToRad(60));

Nous utilisons notre fonction degToRad() pour convertir 60 degrés en radians, car Math.tan() attend une valeur d'entrée en radians.

Retourner un entier aléatoire entre deux bornes

Cela peut être réalisé avec une combinaison de Math.random() et Math.floor() :

js
function random(min, max) {
  const num = Math.floor(Math.random() * (max - min + 1)) + min;
  return num;
}

random(1, 10);

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-math-object

Compatibilité des navigateurs

Voir aussi