--- 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)
x
Un 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')}} |
Propiedad | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Soporte básico | {{CompatChrome("38")}} | {{CompatGeckoDesktop("25")}} | {{CompatNo}} | {{CompatOpera("25")}} | {{CompatSafari("9")}} |
Propiedad | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Soporte básico | {{CompatNo}} | {{CompatNo}} | {{CompatGeckoMobile("25")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |