From a55b575e8089ee6cab7c5c262a7e6db55d0e34d6 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:46:50 +0100 Subject: unslug es: move --- .../operators/conditional_operator/index.html | 171 +++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 files/es/web/javascript/reference/operators/conditional_operator/index.html (limited to 'files/es/web/javascript/reference/operators/conditional_operator') diff --git a/files/es/web/javascript/reference/operators/conditional_operator/index.html b/files/es/web/javascript/reference/operators/conditional_operator/index.html new file mode 100644 index 0000000000..6b48295902 --- /dev/null +++ b/files/es/web/javascript/reference/operators/conditional_operator/index.html @@ -0,0 +1,171 @@ +--- +title: Operador condicional (ternario) +slug: Web/JavaScript/Referencia/Operadores/Conditional_Operator +tags: + - JavaScript + - Operador +translation_of: Web/JavaScript/Reference/Operators/Conditional_Operator +--- +
{{jsSidebar("Operators")}}
+ +
El operador condicional (ternario) es el único operador en JavaScript que tiene tres operandos. Este operador se usa con frecuencia como atajo para la instrucción if.
+ +
 
+ +

Sintaxis

+ +
condición ? expr1 : expr2 
+ +

Parámetros

+ +
+
condición
+
Una expresión que se evalúa como true o false.
+
+
expr1, expr2
+
+
Expresión con valores de algún tipo.
+
+

Descripción

+
+
+ +

Si la condición es true, el operador retorna el valor de la expr1; de lo contrario,  devuelve el valor de expr2. Por ejemplo, para mostrar un mensaje diferente en función del valor de la variable isMember, se puede usar esta declaración:

+ +
"La Cuota es de:  " + (isMember ? "$2.00" : "$10.00")
+
+ +

También puedes asignar variables dependiendo del resultado de la condición ternaria:

+ +
var elvisLives = Math.PI > 4 ? "Sip" : "Nop";
+ +

También es posible realizar evaluaciones ternarias múltiples (Nota: El operador condicional es asociativo):

+ +
var firstCheck = false,
+    secondCheck = false,
+    access = firstCheck ? "Acceso Denegado" : secondCheck ? "Acceso Denegado" : "Acceso Permitido";
+
+console.log( access ); // muestra "Acceso Permitido"
+ +

También puede usar operaciones ternarias en espacio vacío con el propósito de realizar diferentes operaciones:

+ +
var stop = false, age = 16;
+
+age > 18 ? location.assign("continue.html") : stop = true;
+
+ +

También puede realizar más de una operación por caso, separándolas con una coma:

+ +
var stop = false, age = 23;
+
+age > 18 ? (
+    alert("OK, puedes continuar."),
+    location.assign("continue.html")
+) : (
+    stop = true,
+    alert("Disculpa, eres menor de edad!")
+);
+
+ +

También puede realizar más de una operación durante la asignación de un valor. En este caso, el último valor separado por una coma del paréntesis será el valor asignado.

+ +
var age = 16;
+
+var url = age > 18 ? (
+    alert("OK, puedes continuar."),
+    // alert devuelve "undefined", pero será ignorado porque
+    // no es el último valor separado por comas del paréntesis
+    "continue.html" // el valor a ser asignado si age > 18
+) : (
+    alert("Eres menor de edad!"),
+    alert("Disculpa :-("),
+    // etc. etc.
+    "stop.html" // el valor a ser asignado si !(age > 18)
+);
+
+location.assign(url); // "stop.html"
+ +

Especificaciones

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificaciónEstadoComentario
{{SpecName('ES6', '#sec-conditional-operator', 'Conditional Operator')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-11.12', 'The conditional operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES1', '#sec-11.12', 'The conditional operator')}}{{Spec2('ES1')}}Definición inicial implementada en JavaScript 1.0.
+ +

Compatibilidad de navegadores

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Soporte básico{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Soporte básico{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Véase también

+ + -- cgit v1.2.3-54-g00ecf