- ¿Qué pasa si una variable no tiene valor?
- || — "O bien esto… o lo otro"
- && — "Solo si esto… entonces lo otro"
- ¡Error común con ||!
- ⚠️ Cuidado con valores como 0 o ''!
- ! — Negar un valor
Hasta ahora viste que ||, ! y && se usan para combinar condiciones:
edad > 18 && tieneDocumento
rol === 'admin' || rol === 'editor'
¿Qué pasa si una variable no tiene valor?
Cuando programamos, a veces una variable no tiene nada dentro. No es un error, simplemente no se ha definido aún.
const usuario = '';
const edad = 0;
¿Qué hacemos si no hay nombre? ¿O si alguien tiene 0 años? JavaScript nos ayuda con: || y &&.
|| — "O bien esto… o lo otro"
Asignar un valor por defecto si no hay nombre
const nombre = usuario || 'Anónimo';
- Si usuario tiene algo (como
'Ana'), se usa ese valor. - Si usuario está vacío (
''), se usa 'Anónimo'.
Otros ejemplos
console.log('Ana' || 'Otro'); // "Ana" — se usa el primero
console.log('' || 'Otro'); // "Otro" — el primero está vacío
console.log(0 || 18); // 18 — cuidado: el 0 se ignora
console.log(undefined || 'Ninguno'); // "Ninguno"
&& — "Solo si esto… entonces lo otro"
Verificar si existe algo antes de acceder
const mostrarNombre = usuario && usuario.nombre;
- Si usuario no existe, se detiene.
- Si existe, intenta acceder a
usuario.nombre.
Otros ejemplos
console.log(1 && 'Hola'); // "Hola" — todo bien
console.log(0 && 'Hola'); // 0 — se detiene
console.log('Sí' && 'Funciona'); // "Funciona"
console.log(undefined && 123); // undefined
¡Error común con ||!
A veces queremos comprobar si una variable tiene un valor específico, por ejemplo 'admin' o 'editor', y escribimos esto:
if (rol === ('admin' || 'editor')) {
// ...
}
❌ Parece correcto, pero en realidad no funciona como esperas. El operador || elige el primer valor que funcione, así que 'admin' || 'editor' siempre devuelve 'admin'.
✅ Si quieres verificar ambos, escribe esto:
rol === 'admin' || rol === 'editor';
⚠️ Cuidado con valores como 0 o ''!
Mira este caso:
const edad = 0 || 18;
console.log(edad); // 18 ❌
Queríamos que edad fuera 0, pero JavaScript vio que 0 "no sirve" y usó el 18.
👉 Esto pasa con algunos valores especiales como:
0, '', null, undefined, false, NaN
JavaScript los considera como "vacíos" y los salta al usar ||. Más adelante aprenderás a usar un operador más preciso (??) para estos casos.
! — Negar un valor
Este operador invierte un valor lógico.
console.log(!true); // false
console.log(!false); // true
También puedes usarlo para ver si algo "tiene valor" o no:
console.log(!''); // true (está vacío)
console.log(!'Hola'); // false (tiene algo)
console.log(!0); // true (es cero)
console.log(!123); // false (tiene número)
!! — Ver si algo es "verdadero" o "vacío"
A veces queremos saber si una variable tiene algo o nada. Con !! podemos convertirlo a true o false directamente.
console.log(!!'Hola'); // true
console.log(!!''); // false
console.log(!!0); // false
console.log(!!42); // true
✅ Esto es útil cuando en el futuro empieces a hacer verificaciones, como:
// Aún no lo estudiaste, pero luego escribirás cosas así:
if (!!email) {
// Solo se ejecuta si email tiene contenido
}
| Operador | ¿Qué hace? | Ejemplo | Resultado |
|---|---|---|---|
|| | Devuelve el primer valor útil (o el último si todos fallan) | 'Ana' || 'Otro' | 'Ana' |
&& | Devuelve el primer valor que falle (o el último si todos funcionan) | 'Sí' && 'Funciona' | 'Funciona' |
! | Invierte el valor (true → false, false → true) | !false | true |
!! | Convierte cualquier cosa a true o false | !!'Texto' | true |
Resumen
||(OR) devuelve el primer valor verdadero o el último si todos son falso.&&(AND) devuelve el primer valor falso el último si todos son verdaderos.- Valores falsos:
0,'',null,undefined,NaN,false. - Usar
||para valores predeterminados puede generar errores si0es un valor válido. Es mejor usar??. - El operador de negación
!niega un booleano, y!!convierte cualquier valor en booleano.
Estos operadores son muy útiles en JavaScript, pero debemos entender bien sus reglas para evitar errores. ¡Practícalos y úsalos sabiamente!
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.