--- title: Math.sign() slug: Web/JavaScript/Reference/Global_Objects/Math/sign tags: - JavaScript - Math - Method - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Math/sign original_slug: Web/JavaScript/Referencia/Objetos_globales/Math/sign ---
La función Math.sign() retorna el signo de un número, indicando si el número es positivo, negativo o cero.
Math.sign(x)
xUn número representando el signo del argumento dado. Si el argumento es un número positivo, negativo, cero positivo, o cero negativo, la función retornará 1, -1, 0 or -0 respectivamente. De lo contrario, retorna {{jsxref("NaN")}}.
Como sign() es un método estático de Math, siempre se utiliza como Math.sign(), en vez de un método de un objeto Math que hayas creado. (Math no es un constructor).
Esta función tiene 5 tipos de valores de retorno, 1, -1, 0, -0, NaN, que representan "número positivo", "número negativo", "cero positivo", "cero negativo" y {{jsxref("NaN")}} respectivamente.
El argumento pasado a esta función será convertido a tipo x implicitamente.
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
if (!Math.sign) {
Math.sign = function(x) {
// Si x es NaN, el resultado es NaN.
// Si x es -0, el resultado es -0.
// Si x es +0, el resultado es +0.
// Si x es negativo y no -0, el resultado es -1.
// Si x es positivo y no +0, el resultado es +1.
x = +x; // convertir a número
if (x === 0 || isNaN(x)) {
return Number(x);
}
return x > 0 ? 1 : -1;
};
}
| Especificación | Estado | Comentario |
|---|---|---|
| {{SpecName('ES6', '#sec-math.sign', 'Math.sign')}} | {{Spec2('ES6')}} | Definición inicial. |
| {{SpecName('ESDraft', '#sec-math.sign', 'Math.sign')}} | {{Spec2('ESDraft')}} |