JavaScript en 2025: ¿qué hay de nuevo? Resumen para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

JavaScript en 2025: resumen de las nuevas funciones para principiantes



JavaScript continúa desarrollándose rápidamente, y 2025 se ha convertido en un hito importante para todos los que estudian este lenguaje o trabajan con él. Las innovaciones de ECMAScript 2025 (ES2025) y las actualizaciones de la plataforma Node.js hacen que el código sea más limpio, rápido y seguro. En este artículo analizaremos los cambios clave que serán útiles tanto para principiantes como para desarrolladores experimentados. Conocerá las nuevas funciones que han aparecido y cómo aplicarlas en la práctica.



1. Temporal API: una nueva era en el trabajo con fechas y horas



Una de las innovaciones más esperadas ha sido la Temporal API. Anteriormente, para trabajar con fechas se utilizaba el obsoleto objeto Date, que tenía muchos problemas: mutabilidad, confusión con las zonas horarias y falta de soporte para calendarios. Temporal resuelve todos estos problemas.



Ahora las fechas y horas son inmutables, y el trabajo con zonas horarias es intuitivo. Veamos un ejemplo:



// Temporal API en acciónconst now = Temporal.Now.plainDateTimeISO();console.log(now.toString()); // 2025-03-15T14:30:00

// Creación de una fecha con zona horaria especificadaconst meeting = Temporal.ZonedDateTime.from({ timeZone: 'Europe/Moscow', year: 2025, month: 12, day: 25, hour: 10, minute: 0});console.log(meeting.toLocaleString('ru-RU')); // 25.12.2025, 10:00


Ahora puede comparar fechas fácilmente, agregar días o meses sin riesgo de mutaciones:



const start = Temporal.PlainDate.from('2025-01-01');const end = start.add({ months: 3 });console.log(end.toString()); // 2025-04-01


Para los principiantes, esto significa que ya no es necesario incluir bibliotecas como Moment.js o date-fns: todo está disponible de forma nativa.



2. Decoradores: soporte oficial en el estándar



Los decoradores son una herramienta potente para modificar el comportamiento de clases y sus métodos. En 2025, finalmente han obtenido el estatus oficial en ECMAScript. Anteriormente, solo se podían usar a través de TypeScript o Babel; ahora, en JavaScript puro.



Así es como se ve un decorador simple para registrar la llamada de un método:



// Decorador para registrofunction log(target, context) {  const methodName = context.name;  const originalMethod = target;

return function (...args) { console.log(`Llamada a ${methodName} con argumentos: ${JSON.stringify(args)}`); const result = originalMethod.call(this, ...args); console.log(`Resultado: ${result}`); return result; };}

class Calculator { @log add(a, b) { return a + b; }}

const calc = new Calculator();calc.add(2, 3); // Salida: Llamada a add con argumentos: [2,3]// Salida: Resultado: 5


Los decoradores son especialmente útiles para autenticación, almacenamiento en caché, validación de datos y otras tareas transversales. Los principiantes deben recordar lo principal: un decorador es simplemente una función que envuelve a otra función, añadiéndole un nuevo comportamiento.



3. Métodos mejorados para arrays y colecciones



En 2025, trabajar con arrays se ha vuelto aún más conveniente. Han aparecido nuevos métodos que simplifican la ordenación, búsqueda y transformación de datos. Veamos los más útiles.



Método Array.prototype.groupBy()

Permite agrupar elementos de un array por una clave. Anteriormente, para esto había que escribir bucles o usar reduce().



const users = [  { name: 'Ana', role: 'admin' },  { name: 'Iván', role: 'user' },  { name: 'María', role: 'admin' },  { name: 'Pedro', role: 'user' }];

const grouped = users.groupBy(user => user.role);console.log(grouped);// {// admin: [{ name: 'Ana', role: 'admin' }, { name: 'María', role: 'admin' }],// user: [{ name: 'Iván', role: 'user' }, { name: 'Pedro', role: 'user' }]// }


Método Array.prototype.toSorted()

A diferencia de

Blogs

Book Recommendations