Qu'est-ce que cela signifie quand il y a un paramètre de nombre passé à toString?

Je me demande simplement ce que cela signifie d'attacher un nombre en tant que paramètre à la toString()

Par exemple obj.toString(10);

J'ai googlé et je n'ai jamais vu de paramètre avant.

Le paramètre supplémentaire fonctionne uniquement pour Number.prototype.toString pour spécifier la base (entier entre 2 et 36 spécifiant la base à utiliser pour représenter les valeurs numériques):

 var number = 12345; number.toString(2) === "11000000111001" number.toString(3) === "121221020" // … number.toString(36) === "9ix" 

Cela ne fonctionne que sur les objets Number et est destiné à vous donner un moyen d'afficher un nombre avec une certaine radix:

 var n = 256; var d = n.toString(10); // decimal: "256" var o = n.toString(8); // octal: "400" var d = n.toString(16); // hex: "100" var b = n.toString(2); // binary: "100000000" var w = n.toString(20); // base 20: "cg" 

Notez que la radix doit être un nombre entier compris entre 2 et 36 ou que toString() augmente une erreur.

Il n'est pas défini comme un argument applicable à toString , il n'a de sens sur le Number , où il spécifie la base à écrire. Vous pouvez utiliser par ex. n.toString(16) pour convertir en hex.

Les autres objets intégrés n'utilisent pas d'arguments et JavaScript ignorera silencieusement les arguments inutilisés, de sorte que le passage de 16 à n'importe quelle autre méthode de la toString ne fera aucune différence. Vous pouvez naturellement faire vos propres méthodes toString où des arguments facultatifs peuvent signifier tout ce que vous aimez.