1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
---
title: Math.sign()
slug: Web/JavaScript/Referencia/Objetos_globales/Math/sign
tags:
- JavaScript
- Math
- Method
- Reference
translation_of: Web/JavaScript/Reference/Global_Objects/Math/sign
---
<div>{{JSRef}}</div>
<p>La función <strong><code>Math.sign()</code></strong> retorna el signo de un número, indicando si el número es positivo, negativo o cero.</p>
<h2 id="Syntaxis">Syntaxis</h2>
<pre class="syntaxbox"><code>Math.sign(<var>x</var>)</code></pre>
<h3 id="Parametros">Parametros</h3>
<dl>
<dt><code>x</code></dt>
<dd>Un número.</dd>
</dl>
<h3 id="Valor_de_retorno.">Valor de retorno.</h3>
<p>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á <code>1</code>, <code>-1</code>, <code>0</code> or <code>-0</code> respectivamente. De lo contrario, retorna {{jsxref("NaN")}}.</p>
<h2 id="Descripción">Descripción</h2>
<p>Como <code>sign()</code> es un método estático de <code>Math</code>, siempre se utiliza como <code>Math.sign()</code>, en vez de un método de un objeto Math que hayas creado. (<code>Math</code> no es un constructor).</p>
<p>Esta función tiene 5 tipos de valores de retorno, <code>1</code>, <code>-1</code>, <code>0</code>, <code>-0</code>, <code>NaN</code>, que representan "número positivo", "número negativo", "cero positivo", "cero negativo" y {{jsxref("NaN")}} respectivamente.</p>
<p>El argumento pasado a esta función será convertido a tipo <code>x</code> implicitamente.</p>
<h2 id="Ejemplos">Ejemplos</h2>
<h3 id="Usando_Math.sign()">Usando <code>Math.sign()</code></h3>
<pre class="brush: js">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
</pre>
<h2 id="Polyfill">Polyfill</h2>
<pre class="brush: js">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;
};
}</pre>
<h2 id="Especificaciones">Especificaciones</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Especificación</th>
<th scope="col">Estado</th>
<th scope="col">Comentario</th>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-math.sign', 'Math.sign')}}</td>
<td>{{Spec2('ES6')}}</td>
<td>Definición inicial.</td>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-math.sign', 'Math.sign')}}</td>
<td>{{Spec2('ESDraft')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Compatibilidad_con_navegadores">Compatibilidad con navegadores</h2>
<div>{{CompatibilityTable}}</div>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Propiedad</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Soporte básico</td>
<td>{{CompatChrome("38")}}</td>
<td>{{CompatGeckoDesktop("25")}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatOpera("25")}}</td>
<td>{{CompatSafari("9")}}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Propiedad</th>
<th>Android</th>
<th>Chrome for Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Soporte básico</td>
<td>{{CompatNo}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatGeckoMobile("25")}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatNo}}</td>
<td>{{CompatNo}}</td>
</tr>
</tbody>
</table>
</div>
<h2 id="Ver_También">Ver También</h2>
<ul>
<li>{{jsxref("Math.abs()")}}</li>
<li>{{jsxref("Math.ceil()")}}</li>
<li>{{jsxref("Math.floor()")}}</li>
<li>{{jsxref("Math.round()")}}</li>
<li>{{jsxref("Math.trunc()")}}</li>
</ul>
|