Operadores booleanos y estructuras condicionales

Curso de Javascript Online. Desde cero.

11.  
14.  
19.  
26.  

Operadores lógicos o booleanos

console.log('Mayor: ', 7>2);
console.log('Menor: ', 7<2);
console.log('Mayor o igual: ', 7>=2);
console.log('Menor o igual: ', 7<=2);
console.log('Igual: ', 7==2);
console.log('Distinto: ', 7!=2);

Diferencia entre == y ===

El triple igual significa “son iguales sin conversión de tipos”.

  • 1==’1′ // true, conversión automática del tipo de datos
  • 1===’1′ // false, ya que son datos de diferente tipo
  • 0==false // true
  • 0===false // false, ya que son datos de diferente tipo

Condicional if

<script>
	const dato1 = 5;
	const dato2 = 3;
	
	if(dato1 > dato2){
		console.log('dato2 es mayor que dato1');
	}
</script>

Ejercicio: operador booleano

Modificar sólo el operador booleano para lograr que se imprima el mensaje.

<script>
	const dato1 = 10;
	const dato2 = 10;
	if(dato1 > dato2){
		console.log('exito');
	}
</script>

else if

<script>
	const dato1 = 5;
	const dato2 = 10;

	if (dato1 > dato2) {
		console.log('dato1 es mayor que dato2');
	} else if (dato1 < dato2) {
		console.log('dato1 es menor que dato 2');
	}	
</script>

else

<script>
	const dato1 = 3;
	const dato2 = 5;
	if(dato1 > dato2){
		console.log("dato1 es mayor que dato2");
	}else if(dato1==dato2){
		console.log('dato1 es igual que dato2');
	} else{
		console.log('Va a ser que no...');
	}
</script>

Ejercicios: if

1. Corrige los errores que hay en este código:

<script>
if {10 == 10}(
    console.log('You got a true!')
) else (
    console.log('You got a false!')
)
<script type="text/javascript">

2. Dada una constante que contiene la nota de un examen que va de 0 a 10…

  • Si es mayor que cinco mostrar el texto «Aprobado».
  • Si es igual a cinco, mostrar el texto «Aprobado por los pelos»
  • Si es menor que cinco, mostrar el texto «Suspenso».

3. Declara una constante ‘i’ de tipo entero y asígnale un valor. Mostrar un mensaje indicando si el valor de ‘i’ es positivo o negativo, si es par o impar, si es múltiplo de 5, si es múltiplo de 10 y si es mayor o menor que 100. Consideraremos el 0 como positivo.

4. Hacer una calculadora que determine la operación a realizar por medio de una estructura de control if.

La calculadora utilizará 3 constantes para hacer los cálculos.

  • Una constante que almacenará el primer número. Por ejemplo:
const n1 = 3;
  • Una constante que almacenará el segundo número. Por ejemplo:
const n2 = 7;
  • Una constante de tipo texto que almacenará la operación a realizar. Esta constante podrá valer +, -, * o /, en función de la operación que deseamos realizar. Por ejemplo:
const op = '+';

Utilizaremos la estructura de control if para evaluar la constante que almacena la operación a realizar y en función de esa evaluación, hacer una suma, una resta, una multiplicación o una división.

Operador ternario

const a = 5;
const b = 3;

if(a>b){console.log('a es mayor que b');}
else{console.log('b es mayor que a');}


console.log(a>b ? 'a es mayor que b' : 'b es mayor que a');

Ejercicios operador ternario

1. Declare una constante numérica ‘b’ y asignale un valor. Mostrar una traza indicando si el valor de ‘b’ es positivo o negativo. Consideraremos el 0 como positivo. Utiliza el operador condicional (? : ) dentro del console.log para resolverlo.

2. Declarar una constante numérica ‘i’ y asignale un valor. Muestra un mensaje indicando si ‘i’ es par o impar. Utiliza el operador condicional ( ? : ) dentro del console.log para resolverlo.

Estructura switch

let opcion = 'opcion1';

switch(opcion) {
	case 'opcion1':
		console.log('Has escogido la opción 1');
	break;
	case 'opcion2':
		console.log('Has escogido la opción 2');
	break;
	case 'opcion3':
		console.log('Has escogido la opción 3');
	break;
	default:
		console.log('No has escogido ninguna de las opciones posibles');
}

Ejercicios Switch

1. Switch modificando el case

Inserta el código necesario para que esta estructura de control Switch funcione también con el amarillo.

const color = 'amarillo';
switch(color) {
	case 'rojo':
		console.log('Has escogido rojo');
	break;
	case 'azul':
		console.log('Has escogido azul');
	break;
	//Inserta tu código aquí
	default:
		console.log('No has escogido ningún color de la lista!');
}

2. Switch modificando el default

Añadir el caso por defecto (default):

let golosina = 'nubes';

switch(golosina) {
	case 'chicle':
		console.log('Has escogido un chicle');
	break;
	case 'gominola':
		console.log('Has escogido una gominola');
	break;
	case 'regaliz':
		console.log('Has escogido un regaliz');
	break;
		//Inserta tu código aquí
}

Operador bitwise

Una operación bit a bit (o Bitwise) opera sobre números binarios a nivel de bits individuales. Es una acción primitiva sustancialmente más rápida que las que se llevan a cabo sobre el valor real de los operandos.

Operador & (AND)

Devuelve 1 si ambos operandos son 1.

const t = true;
const f = false;

console.log('t & f: ', t & f); // 0
console.log('t && f: ', t && f); // false
Valor AValor BA AND B
000
010
100
111

Operador | (OR)

Devuelve 1 donde uno o ambos operandos son 1.

console.log('t | f: ', t | f); // 1
console.log('t || f: ', t || f); // true
Valor AValor BA OR B
000
011
101
111

Operador ^ (XOR)

Devuelve 1 donde un operando, pero no ambos son es 1

console.log('t ^ f: ', t ^ f);
Valor AValor BA XOR B
000
011
101
110

Operador ∼ (NOT)

Invierte el valor del operando.

console.log('~t: ', ~t);
Valor ANOT A
01
10

Ejemplo:

const a = 5; // 00000000000000000000000000000101
const b = -3; // 11111111111111111111111111111101
console.log(~a); // 11111111111111111111111111111010 → En notación decimal: -6
console.log(~b); // 00000000000000000000000000000010 → En notación decimal: 2

Operador de desplazamiento

Desplazamiento a la izquierda

00011100 << 1 = 00111000

00011100 << 2 = 01110000

Desplazamiento a la derecha

00011100 >> 1 = 00001110

00011100 >> 2 = 00000111

← Operadores aritméticos en Javascript. Ejercicios
Bucle for en Javascript →