Junior
¿Con qué novedades en ES6 estás familiarizado?
sobes.tech AI
Respuesta de la IA
- let, const, var: let y const para ámbito de bloque, var para ámbito funcional. const para constantes, let para variables que pueden ser reasignadas.
- Funciones flecha (Arrow Functions): Sintaxis abreviada para declarar funciones.
thisléxico. - Literales de plantilla (Template Literals): Permiten incrustar expresiones y cadenas multilínea.
const name = "World"; const greeting = `Hello, ${name}!`; // "Hello, World!" - Desestructuración (Destructuring Assignment): Forma conveniente de extraer valores de arreglos y objetos.
const person = { firstName: "John", lastName: "Doe" }; const { firstName, lastName } = person; // firstName = "John", lastName = "Doe" - Operador spread (...) y parámetros rest (...): Spread para expandir y combinar arreglos/objetos. Rest para recopilar los argumentos restantes de una función en un arreglo.
const arr1 = [1, 2]; const arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4] function sum(...numbers) { return numbers.reduce((acc, current) => acc + current, 0); } sum(1, 2, 3); // 6 - Clases (Classes): Azúcar sintáctico sobre herencia prototípica.
class Car { constructor(brand) { this.brand = brand; } drive() { console.log(`${this.brand} is driving.`); } } - Módulos (Modules): Herramienta para organizar código usando
importyexport.// module.js export const PI = 3.14; // main.js import { PI } from './module.js'; - Promesas (Promises): Simplifican el trabajo con código asíncrono.
new Promise((resolve, reject) => { // Operación asíncrona if (success) { resolve("¡Éxito!"); } else { reject("Error!"); } }) .then(result => console.log(result)) .catch(error => console.error(error)); - Bucle for...of: Iteración sobre objetos iterables (arreglos, cadenas, Map, Set, etc.).
const arr = [1, 2, 3]; for (const value of arr) { console.log(value); // 1, 2, 3 } - Set y Map: Nuevas estructuras de datos. Set para valores únicos, Map para pares clave-valor.