5.11 L'Objet Math

Maintenant que vous maîtrisez la création d'objets en JavaScript, intéressons-nous aux objets intégrés au langage. Le premier que nous examinerons est l'objet Math. Pour explorer ses possibilités, la référence incontournable est la documentation Mozilla Developer Network (MDN), qui détaille l'ensemble des propriétés et méthodes disponibles.

Propriétés et méthodes principales

L'objet Math regroupe des constantes et fonctions mathématiques. Parmi les propriétés utiles figure Math.PI, qui contient la valeur du nombre pi. Côté méthodes, la liste est longue mais voici les plus courantes :

  • Math.abs(x) retourne la valeur absolue d'un nombre (un nombre négatif devient positif)
  • Math.random() génère un nombre aléatoire entre 0 et 1
  • Math.round(x) arrondit au nombre entier le plus proche (1.9 devient 2)
  • Math.max(...) retourne le plus grand des arguments fournis
  • Math.min(...) retourne le plus petit des arguments fournis

Pour la méthode random, la documentation MDN propose un exemple très utile : une fonction qui prend un min et un max en paramètres et génère un nombre aléatoire dans cet intervalle. C'est un pattern qu'on retrouve très fréquemment dans les applications réelles.

console.log(Math.random());        // 0.7234...
console.log(Math.round(1.9));      // 2
console.log(Math.max(1, 5, 3));    // 5
console.log(Math.min(1, 5, 3));    // 1

Plus tard dans le cours, vous aurez d'ailleurs un exercice consistant à réécrire votre propre version de Math.max, capable d'accepter un nombre variable d'arguments et de retourner la plus grande valeur. Cela vous permettra de comprendre comment ce type de fonction est construit en interne.

Retenez surtout que l'objet Math est toujours disponible dans vos applications JavaScript. Dès que vous avez besoin d'effectuer un calcul mathématique, le réflexe est de consulter sa documentation pour voir si une méthode existe déjà — inutile de réinventer ce qui est déjà fourni par le langage. Dans la prochaine vidéo, nous aborderons les chaînes de caractères.