Expresiones abreviadas e idiomáticas de JavaScript moderno que reemplazan patrones extensos y repetitivos.
Patrones abreviados esenciales
Coalescencia nula (??) y valores por defecto
// ?? comprueba estrictamente null o undefined (conserva 0 y false)
const port = process.env.PORT ?? 3000;
// || recurre al valor por defecto ante cualquier valor falsy (0, "", false, NaN)
const title = customTitle || 'Untitled';
Encadenamiento opcional (?.)
// Navega de forma segura por objetos anidados sin provocar TypeError
const street = user?.address?.street;
const firstTag = user?.tags?.[0];
const result = user?.getProfile?.();
Ejecución por cortocircuito (&&)
// Ejecuta la función únicamente si la condición es verdadera
isLoggedIn && showDashboard();
Abreviaturas en propiedades y métodos de objetos
const name = 'Alice';
const age = 30;
// Abreviatura en literales de objetos
const user = {
name,
age,
greet() {
return `Hello ${this.name}`;
}
};
Desestructuración de arrays y objetos
const { name, age, role = 'member' } = user;
const [first, second, ...rest] = [1, 2, 3, 4, 5];