Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continúa navegando, consideramos que acepta su uso.
Las cookies de este sitio web se usan para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Además, compartimos información sobre el uso que haga del sitio web con nuestros partners de redes sociales, publicidad y análisis web, quienes pueden combinarla con otra información que les haya proporcionado o que hayan recopilado a partir del uso que haya hecho de sus servicios. Puede cambiar la configuración u obtener más información aquí

Aceptar

Google

tunait.com » Javascript » Operadores condicionales


Operador condicional

En ocasiones necesitamos usar un condicional simple que evalúe una sola sentencia.

	if(m < 0){
	   m = 0;
	}
	else{
	   m++;
	}

Las condiciones con una sola sentencia pueden omitir las llaves

	if(m < 0)
	   m = 0;
	else
	   m++;

y podemos ponerlo en una sola línea

if(m < 0) m = 0; else m++;

Sin embargo para estos casos nos puede venir muy bien utilizar el operador condicional o ternario que tiene la peculiaridad de ser el único operador que usa tres operandos

Alguna expresión ? si verdadero, esto : si no es verdadero, esto otro;

Funciona de la siguiente manera:
Se evalúa una sentencia; si devuelve verdadero se evalúa entonces la sentencia que queda a continuación del operador ? y a la izquierda del operador : y si no es verdadero se evalúa la sentencia que queda a la derecha del operador :

m < 0 ? m = 0 : m++;

Generalmente la sentencia a evaluar si es verdadera o no se usa con un condicional como en el ejemplo.

(condición: m es menor que cero ¿es cierto?) ? (si es verdadero m vale entonces cero) : (si es falso m incrementa su valor en 1)

pero no es necesario que la expresión a evaluar sea una condición. Basta con que devuelva verdadero o falso (true o false)

verdadero = true;
verdadero ? alert('es verdadero') : alert('no es verdadero');

Recordemos que no sólo true evalúa como verdadero ni false evalúa sólo como falso.
Los valores booleanos se evalúan como falso si devuelven:

Una cadena vacía ('')
0 ó -0
NaN (Not A Number)
Undefined
null
false


Los valores booleanos se evalúan como verdadero si devuelven:

Un objeto existente
Una cadena no vacía
Un valor numérico distinto a 0 ó a -0
true

En el ejemplo anterior

verdadero = true;
verdadero ? alert('es verdadero') : alert('no es verdadero');

obtendríamos el mismo resultado si

verdadero = 1
verdadero = 'leporcias'
<div id="verdadero">

Podemos usar también el operador condicional para asignar directamente el valor devuelto a una variable.

En vez de m < 0 ? m = 0 : m++;

Podemos pedirle m = m < 0 ? 0 : m++;

var edad = 45;
paco = edad <= 18 ? 'Menor de edad' : 'Mayor de edad';

También podemos usarlo para pasar argumentos a funciones

alert(edad <= 18 ? 'Menor de edad' : 'Mayor de edad');

Como se puede ver el uso del operador condicional puede ser muy útil a la hora de darle algunos usos que no podríamos aplicar directamente con la sentencia if then y nos puede ahorrar bastantes líneas de código.

 


Copyright © 2006 www.tunait.com todos los derechos reservados