aboutsummaryrefslogtreecommitdiff
path: root/files/es/conflicting/web/javascript/reference/operators_e72d8790e25513408a18a5826660f704/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/es/conflicting/web/javascript/reference/operators_e72d8790e25513408a18a5826660f704/index.html')
-rw-r--r--files/es/conflicting/web/javascript/reference/operators_e72d8790e25513408a18a5826660f704/index.html298
1 files changed, 0 insertions, 298 deletions
diff --git a/files/es/conflicting/web/javascript/reference/operators_e72d8790e25513408a18a5826660f704/index.html b/files/es/conflicting/web/javascript/reference/operators_e72d8790e25513408a18a5826660f704/index.html
deleted file mode 100644
index a2a2ca8de7..0000000000
--- a/files/es/conflicting/web/javascript/reference/operators_e72d8790e25513408a18a5826660f704/index.html
+++ /dev/null
@@ -1,298 +0,0 @@
----
-title: Operadores lógicos
-slug: >-
- conflicting/Web/JavaScript/Reference/Operators_e72d8790e25513408a18a5826660f704
-translation_of: Web/JavaScript/Reference/Operators
-translation_of_original: Web/JavaScript/Reference/Operators/Logical_Operators
-original_slug: Web/JavaScript/Referencia/Operadores/Operadores_lógicos
----
-<div>{{jsSidebar("Operadores_lógicos")}}</div>
-
-<p>Los operadores lógicos se usan típicamente con valores {{jsxref("Boolean")}}. En tal caso, regresan un valor Boolean. Sin embargo, los operadores &amp;&amp; y || regresan en realidad el valor de uno de los operandos especificados, por lo que si estos operadores se usan con valores no Boolean, posiblemente regresen un valor no Boolean.</p>
-
-<h2 id="Descripción">Descripción</h2>
-
-<p>Los operadores lógicos se describen en la tabla siguiente:</p>
-
-<table class="fullwidth-table">
- <tbody>
- <tr>
- <th>Operador</th>
- <th>Uso</th>
- <th>Descripción</th>
- </tr>
- <tr>
- <td>AND (<code>&amp;&amp;</code>) lógico</td>
- <td><code><em>expr1</em> &amp;&amp; <em>expr2</em></code></td>
- <td>
- <p>Regresa <code>expr1 </code>si tal puede convertirse a false; de lo contrario, regresa <code>expr2</code>. De esta forma, cuando se usa con valores Boolean, &amp;&amp; regresa true si ambos operandos son verdaderos; de lo contrario regresa false.</p>
- </td>
- </tr>
- <tr>
- <td>OR (<code>||</code>) lógico</td>
- <td><code><em>expr1</em> || <em>expr2</em></code></td>
- <td>
- <p>Regresa<code> expr1</code> si tal puede convertirse a true; de lo contrario, regresa <code>expr2</code>. De esta forma, cuando se usa con valores Boolean, || regresa true si cualquier operando es verdadero; pero si ambos son falsos, regresa "false".</p>
- </td>
- </tr>
- <tr>
- <td>NOT (<code>!</code>) lógico</td>
- <td><code>!<em>expr</em></code></td>
- <td>
- <p>Regresa false si su único operando puede convertirse a true; de lo contrario, regresa true.</p>
- </td>
- </tr>
- </tbody>
-</table>
-
-<p>Algunos ejemplos de expresiones que pueden convertirse a false son aquellas que evalúan a null, 0, un string vacío (""), o undefined.</p>
-
-<p>A pesar de que los operadores &amp;&amp; y ||  pueden ser usados con operandos que no son valores Boolean, aún pueden ser considerados como operadores Boolean porque sus valores de regreso siempre pueden convertirse a valores Boolean.</p>
-
-<h3 id="Evaluación_contra_corto_circuitos">Evaluación contra "corto circuitos"</h3>
-
-<p>Ya que las expresiones lógicas son evaluadas de izquierda a derecha, se prueban con una evaluación contra posibles "cortos circuitos" usando las siguientes normas:</p>
-
-<ul>
- <li><code>false &amp;&amp; (<em>cualquier valor)</em></code> evalúa a "false".</li>
- <li><code>true || (<em>cualquier valor)</em></code> evalúa a "true".</li>
-</ul>
-
-<p>Las reglas de lógica garantizan que estas evaluaciones siempre son correctas. Se debe notar que la parte de "cualquier valor" en las expresiones anteriores no se evalúa, para que tal acción no afecte de ninguna forma. Además, es de notar que la parte de "cualquier valor" en las expresiones anteriores debe ser cualquier expresión lógica (lo que se indica con los paréntesis).</p>
-
-<p>Por ejemplo, las siguientes dos expresiones son equivalentes.</p>
-
-<pre class="brush: js">function shortCircuitEvaluation() {
-  doSomething() || doSomethingElse()
-}
-
-function equivalentEvaluation() {
-  var flag = doSomething();
-  if (!flag) {
-    doSomethingElse();
-  }
-}
-</pre>
-
-<p>Sin embargo, las siguientes expresiones no son equivalentes debido a la <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence">precedencia de operadores</a>, y con tal ejemplo se enfatiza la importancia de que la parte derecha sea una única expresión (agrupada en paréntesis si es necesario).</p>
-
-<pre class="brush: js">false &amp;&amp; true || true // regresa true
-false &amp;&amp; (true || true) // regresa false</pre>
-
-<h3 id="AND_()_lógico"><a name="Logical_AND">AND (<code>&amp;&amp;</code>) lógico</a></h3>
-
-<p>El siguiente código muestra ejemplos del operador &amp;&amp; (AND lógico).</p>
-
-<pre class="brush: js">a1 = true &amp;&amp; true // t &amp;&amp; t regresa true
-a2 = true &amp;&amp; false // t &amp;&amp; f regresa false
-a3 = false &amp;&amp; true // f &amp;&amp; t regresa false
-a4 = false &amp;&amp; (3 == 4) // f &amp;&amp; f regresa false
-a5 = "Cat" &amp;&amp; "Dog" // t &amp;&amp; t regresa "Dog"
-a6 = false &amp;&amp; "Cat" // f &amp;&amp; t regresa false
-a7 = "Cat" &amp;&amp; false // t &amp;&amp; f regresa false
-</pre>
-
-<h3 id="OR_()_lógico"><a name="Logical_OR">OR (<code>||</code>) lógico</a></h3>
-
-<p>El siguiente código muestra ejemplos del operador <code>||</code> (OR lógico).</p>
-
-<pre class="brush: js">o1 = true || true // t || t regresa true
-o2 = false || true // f || t regresa true
-o3 = true || false // t || f regresa true
-o4 = false || (3 == 4) // f || f regresa false
-o5 = "Cat" || "Dog" // t || t regresa "Cat"
-o6 = false || "Cat" // f || t regresa "Cat"
-o7 = "Cat" || false // t || f regresa "Cat"
-</pre>
-
-<h3 id="Logical_NOT_(!)"><a name="Logical_NOT">Logical NOT (<code>!</code>)</a></h3>
-
-<p>El siguiente código muestra ejemplos del operador <code>!</code> (NOT lógico).</p>
-
-<pre class="brush: js">n1 = !true // !t regresa false
-n2 = !false // !f regresa true
-n3 = !"Cat" // !t regresa false
-</pre>
-
-<h3 id="Reglas_de_conversión">Reglas de conversión</h3>
-
-<h4 id="Convertir_de_AND_a_OR">Convertir de AND a OR</h4>
-
-<p>la siguiente operación que involucra Booleans:</p>
-
-<pre class="brush: js">bCondition1 &amp;&amp; bCondition2</pre>
-
-<p>siempre es igual a:</p>
-
-<pre class="brush: js">!(!bCondition1 || !bCondition2)</pre>
-
-<h4 id="Convertir_de_OR_a_AND">Convertir de OR a AND</h4>
-
-<p>la siguiente operación que involucra Booleans:</p>
-
-<pre class="brush: js">bCondition1 || bCondition2</pre>
-
-<p>siempre es igual a:</p>
-
-<pre class="brush: js">!(!bCondition1 &amp;&amp; !bCondition2)</pre>
-
-<h4 id="Convertir_entre_operadores_NOT">Convertir entre operadores NOT</h4>
-
-<p>la siguiente operación que involucra Booleans:</p>
-
-<pre class="brush: js">!!bCondition</pre>
-
-<p>siempre es igual a:</p>
-
-<pre class="brush: js">bCondition</pre>
-
-<h3 id="Eliminando_paréntesis_anidados">Eliminando paréntesis anidados</h3>
-
-<p>Ya que las expresiones lógicas son evaluadas de izquierda a derecha, siempre es posible eliminar paréntesis en una expresión compleja, si se siguen ciertas reglas.</p>
-
-<h4 id="Eliminando_operadores_AND_anidados">Eliminando operadores AND anidados</h4>
-
-<p>La siguiente operación compleja que involucra Booleans:</p>
-
-<pre class="brush: js">bCondition1 || (bCondition2 &amp;&amp; bCondition3)</pre>
-
-<p>siempre es igual a:</p>
-
-<pre class="brush: js">bCondition1 || bCondition2 &amp;&amp; bCondition3</pre>
-
-<h4 id="Eliminando_operadores_OR_anidados">Eliminando operadores OR anidados</h4>
-
-<p>La siguiente operación compleja que involucra Booleans:</p>
-
-<pre class="brush: js">bCondition1 &amp;&amp; (bCondition2 || bCondition3)</pre>
-
-<p>siempre es igual a:</p>
-
-<pre class="brush: js">!(!bCondition1 || !bCondition2 &amp;&amp; !bCondition3)</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">Comentarios</th>
- </tr>
- <tr>
- <td>{{SpecName('ES1')}}</td>
- <td>{{Spec2('ES1')}}</td>
- <td>Definición inicial.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-11.11')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>
- <p>Definido en varias secciones de la especificación: <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.4.9">Logical NOT Operator</a>, <a href="http://www.ecma-international.org/ecma-262/5.1/#sec-11.11">Binary Logical Operators</a></p>
- </td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-binary-logical-operators')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td>Definido en varias secciones de la especificación: <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-logical-not-operator">Logical NOT Operator</a>, <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-binary-logical-operators">Binary Logical Operators</a></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-binary-logical-operators')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td>Definido en varias secciones de la especificación: <a href="http://tc39.github.io/ecma262/#sec-logical-not-operator">Logical NOT Operator</a>, <a href="http://tc39.github.io/ecma262/#sec-binary-logical-operators">Binary Logical Operators</a></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilidad_entre_navegadores">Compatibilidad entre navegadores</h2>
-
-<p>{{CompatibilityTable}}</p>
-
-<div id="compat-desktop">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Característica</th>
- <th>Chrome</th>
- <th>Firefox (Gecko)</th>
- <th>Internet Explorer</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- <tr>
- <td>AND (<code>&amp;&amp;</code>) lógico</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- <tr>
- <td>OR (<code>||</code>) lógico</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- <tr>
- <td>NOT (<code>!</code>) lógico</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<div id="compat-mobile">
-<table class="compat-table">
- <tbody>
- <tr>
- <th>Característica</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>AND (<code>&amp;&amp;</code>) lógico</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- <tr>
- <td>OR (<code>||</code>) lógico</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- <tr>
- <td>NOT (<code>!</code>) lógico</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- <td>{{CompatVersionUnknown}}</td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<h2 id="Ver_también">Ver también</h2>
-
-<ul>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators">Operaciones binarias</a></li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></li>
-</ul>