La fonction Math.sign()
renvoie le signe d'un nombre et permet de savoir si un nombre est positif, négatif ou nul.
Syntaxe
Math.sign(x)
Paramètres
x
- Un nombre.
Valeur de retour
Un nombre qui représente le signe de l'argument. Si l'argument est un nombre positif, négatif, un zéro positif ou un zéro négatif, la fonction renverra respectivement 1
, -1
, 0
, -0
. Sinon, ce sera NaN
qui sera renvoyé.
Description
sign()
étant une méthode statique de Math
, il faut utiliser Math.
et non pas la méthode d'un autre objet qui aurait été créé (sign
()Math
n'est pas un constructeur).
Cette fonction peut renvoyer 5 valeurs : 1, -1, 0, -0, NaN,
qui indiquent respectivement que x
est un nombre positif, un nombre négatif, zéro, la limite négative de zéro, et n'est pas un nombre pour NaN
.
L'argument passé à cette fonction sera implicitement converti au type number
.
Exemple
Utiliser Math.sign()
Math.sign(3) // 1 Math.sign(-3) // -1 Math.sign("-3") // -1 Math.sign(0) // 0 Math.sign(-0) // -0 Math.sign(NaN) // NaN Math.sign("foo") // NaN Math.sign() // NaN
Prothèse d'émulation (polyfill)
Math.sign = Math.sign || function(x) { x = +x; // on convertit le paramètre en nombre if (x === 0 || isNaN(x)){ return Number(x); } return x > 0 ? 1 : -1; };
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Math.sign' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Math.sign' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 38 | 25 (25) | Pas de support | 25 | Pas de support |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | Pas de support | Pas de support | 25.0 (25) | Pas de support | Pas de support | Pas de support |