if...else

  • Enlace amigable (slug) de la revisión: Referencia_de_JavaScript_1.5/Sentencias/if...else
  • Título de la revisión: if...else
  • Id de la revisión: 40593
  • Creada:
  • Creador: Pablo_Cabrera
  • ¿Es la revisión actual?
  • Comentario 61 words added, 67 words removed

Contenido de la revisión

 

Resumen

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.

Statement
Implementada en: JavaScript 1.0, NES 2.0
Versión ECMA: ECMA-262

Sintaxis

if (condición)
   sentencia1
[else
   sentencia2]

Parametros

condición
Una expresión que puede ser evaluada como verdadera o falsa.
sentencia1
Sentencia que se ejecutará si condición es evaluada como verdadera. Puede ser cualquier sentencia, incluyendo otras sentenccias if anidadas. Para ejecutar múltiples sentencias, use una sentencia block ({ ... }) para agruparlas.
sentencia2
Sentencia que se ejecutará si condición se evalúa como falsa, y exista una cláusula else. Puede ser cualquier sentencia, incluyendo sentencias block y otras sentencias if anidadas.

Descripción

Multiples sentencias if...else pueden ser anidadas para crear una cláusula else if:

if (condición1)
   sentencia1
else if (condición2)
   sentencia2
else if (condición3)
   sentencia3
...
else
   sentenciaN

Para entender como esto funciona, así es como se vería si el anidamiento hubiera sido indentado correctamente:

if (condición1)
   sentencia1
else
   if (condición2)
      sentencia2
   else
      if (condición3)
...

Para ejecutar varias sentencias en una cláusula, use una sentencia block ({ ... }) para agruparlas. Generalmente, es una buena práctica usar siempre sentencias block, especialmente en código que incluya sentencias if anidadas:

if (condición) {
   sentencia1
} else {
   sentencia2
}

No confundir los valores primitivos true y false con los valores true y false del objeto Boolean. Cualquier valor diferente de undefined, null, 0, NaN, o la cadena vacía (""), y cualquier objecto, incluso un objeto Boolean cuyo valor es false, se evalúa como verdadero en una sentencia condicional. Por ejemplo:

var b = new Boolean(false);
if (b) // Esta condición se evalúa como verdadera

Ejemplos

Ejemplo: Uso de if...else

if (cipher_char == from_char) {
   result = result + to_char;
   x++;
} else
   result = result + clear_char;

Ejemplo: Asignación en una expresión condicional

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:

if (x = y) {
   /* sentencia */
}

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:

if ((x = y)) {
   /* sentencia */
}

 

 

{{ languages( { "en": "en/Core_JavaScript_1.5_Reference/Statements/if...else", "fr": "fr/R\u00e9f\u00e9rence_de_JavaScript_1.5_Core/Instructions/if...else", "ja": "ja/Core_JavaScript_1.5_Reference/Statements/if...else", "pl": "pl/Dokumentacja_j\u0119zyka_JavaScript_1.5/Polecenia/if...else" } ) }}

Fuente de la revisión

<p> </p>
<h3 id="Summary" name="Summary">Resumen</h3>
<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>
<table class="fullwidth-table"> <tbody> <tr> <td class="header" colspan="2">Statement</td> </tr> <tr> <td>Implementada en:</td> <td>JavaScript 1.0, NES 2.0</td> </tr> <tr> <td>Versión ECMA:</td> <td>ECMA-262</td> </tr> </tbody>
</table>
<h3 id="Syntax" name="Syntax">Sintaxis</h3>
<pre class="eval">if (<em>condición</em>)
   <em>sentencia1</em>
[else
   <em>sentencia2</em>]
</pre>
<h3 id="Parameters" name="Parameters">Parametros</h3>
<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 <a href="/es/Core_JavaScript_1.5_Reference/Statements/block" title="es/Core_JavaScript_1.5_Reference/Statements/block">block</a> ({ ... }) 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>
<h3 id="Description" name="Description">Descripción</h3>
<p>Multiples sentencias <code>if...else</code> pueden ser anidadas para crear una cláusula <code>else if</code>:</p>
<pre class="eval">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 class="eval">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="eval">if (<em>condición</em>) {
   <em>sentencia1</em>
} else {
   <em>sentencia2</em>
}
</pre>
<p>No confundir los valores primitivos <code>true</code> y <code>false</code> con los valores true y false del objeto <a href="/es/Core_JavaScript_1.5_Reference/Global_Objects/Boolean" title="es/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">Boolean</a>. Cualquier valor diferente de <code>undefined</code>, <code>null</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="eval">var b = new Boolean(false);
if (b) // Esta condición se evalúa como verdadera
</pre>
<h3 id="Examples" name="Examples">Ejemplos</h3>
<h4 id="Example:_Using_if...else" name="Example:_Using_if...else">Ejemplo: Uso de <code>if...else</code></h4>
<pre class="eval">if (cipher_char == from_char) {
   result = result + to_char;
   x++;
} else
   result = result + clear_char;
</pre>
<h4 id="Example:_Assignment_within_the_conditional_expression" name="Example:_Assignment_within_the_conditional_expression">Ejemplo: Asignación en una expresión condicional</h4>
<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="eval">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="eval">if ((x = y)) {
   /* sentencia */
}
</pre>
<p> </p>
<p> </p>
<p>{{ languages( { "en": "en/Core_JavaScript_1.5_Reference/Statements/if...else", "fr": "fr/R\u00e9f\u00e9rence_de_JavaScript_1.5_Core/Instructions/if...else", "ja": "ja/Core_JavaScript_1.5_Reference/Statements/if...else", "pl": "pl/Dokumentacja_j\u0119zyka_JavaScript_1.5/Polecenia/if...else" } ) }}</p>
Revertir a esta revisión