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
|
---
title: if...else
slug: Web/JavaScript/Referencia/Sentencias/if...else
tags:
- JavaScript
- Statement
translation_of: Web/JavaScript/Reference/Statements/if...else
---
<div>{{jsSidebar("Statements")}}</div>
<h2 id="Summary" name="Summary">Resumen</h2>
<p>Ejecuta una sentencia si una condición específicada es evaluada como verdadera. Si la condición es evaluada como falsa, otra sentencia puede ser ejecutada.</p>
<h2 id="Syntax" name="Syntax">Sintaxis</h2>
<pre class="eval">if (<em>condición</em>) <em>sentencia1</em> [else <em>sentencia2</em>]
</pre>
<dl>
<dt><code>condición</code></dt>
<dd>Una expresión que puede ser evaluada como verdadera o falsa.</dd>
</dl>
<dl>
<dt><code>sentencia1</code></dt>
<dd>Sentencia que se ejecutará si <code>condición</code> es evaluada como verdadera. Puede ser cualquier sentencia, incluyendo otras sentenccias <code>if</code> anidadas. Para ejecutar múltiples sentencias, use una sentencia {{jsxref("Sentencias/block", "block")}} ({ ... }) para agruparlas.</dd>
</dl>
<dl>
<dt><code>sentencia2</code></dt>
<dd>Sentencia que se ejecutará si <code>condición</code> se evalúa como falsa, y exista una cláusula <code>else</code>. Puede ser cualquier sentencia, incluyendo sentencias block y otras sentencias <code>if</code> anidadas.</dd>
</dl>
<h2 id="Description" name="Description">Descripción</h2>
<p>Multiples sentencias <code>if...else</code> pueden ser anidadas para crear una cláusula <code>else if</code>:</p>
<pre>if (<em>condición1</em>)
<em>sentencia1</em>
else if (<em>condición2</em>)
<em>sentencia2</em>
else if (<em>condición3</em>)
<em>sentencia3</em>
...
else
<em>sentenciaN</em>
</pre>
<p>Para entender como esto funciona, así es como se vería si el anidamiento hubiera sido indentado correctamente:</p>
<pre>if (<em>condición1</em>)
<em>sentencia1</em>
else
if (<em>condición2</em>)
<em>sentencia2</em>
else
if (<em>condición3</em>)
...
</pre>
<p>Para ejecutar varias sentencias en una cláusula, use una sentencia block (<code>{ ... }</code>) para agruparlas. Generalmente, es una buena práctica usar siempre sentencias block, especialmente en código que incluya sentencias if anidadas:</p>
<pre class="brush: js">if (condición) {
sentencia1
} else {
sentencia2
}
</pre>
<p>No confundir los valores primitivos <code>true</code> y <code>false</code> con los valores true y false del objeto {{jsxref("Boolean")}}. Cualquier valor diferente de <code>undefined</code>, <code>null</code>, <code>0</code>, <code>-0</code>, <code>NaN</code>, o la cadena vacía (<code>""</code>), y cualquier objecto, incluso un objeto Boolean cuyo valor es false, se evalúa como verdadero en una sentencia condicional. Por ejemplo:</p>
<pre class="brush: js">var b = new Boolean(false);
if (b) // Esta condición se evalúa como verdadera
</pre>
<h2 id="Examples" name="Examples">Ejemplos</h2>
<h3 id="Example:_Using_if...else" name="Example:_Using_if...else">Ejemplo: Uso de <code>if...else</code></h3>
<pre class="brush: js">if (cipher_char == from_char) {
result = result + to_char;
x++;
} else
result = result + clear_char;
</pre>
<h3 id="Example:_Assignment_within_the_conditional_expression" name="Example:_Assignment_within_the_conditional_expression">Ejemplo: Asignación en una expresión condicional</h3>
<p>Es aconsejable no usar asignaciones simples en una expresión condicional, porque la asignación puede ser confundida con igualdad (operador relacional) cuando se lee el código. Por ejemplo, no use el siguiente código:</p>
<pre class="brush: js">if (x = y) {
/* sentencia */
}
</pre>
<p>Si realmente necesita una asignación dentro de una exprsión condicional, una práctica común es poner paréntesis adicionales alrededor del la asignación, por ejemplo:</p>
<pre class="brush: js">if ((x = y)) {
/* sentencia */
}
</pre>
<h2 id="Vea_También">Vea También</h2>
<ul>
<li>{{jsxref("Sentencias/block", "block")}}</li>
<li>{{jsxref("Sentencias/switch", "switch")}}</li>
</ul>
|