Junior
Con quali novità in ES6 sei familiare?
sobes.tech AI
Risposta dell'AI
- let, const, var: let e const per ambito di blocco, var per ambito di funzione. const per costanti, let per variabili che possono essere riassegnate.
- Funzioni Freccia (Arrow Functions): Sintassi abbreviata per dichiarare funzioni.
thislessicale. - Literals di Template (Template Literals): Permettono di incorporare espressioni e stringhe multilinea.
const name = "World"; const greeting = `Hello, ${name}!`; // "Hello, World!" - Assegnazione destrutturata (Destructuring Assignment): Metodo comodo per estrarre valori da array e oggetti.
const person = { firstName: "John", lastName: "Doe" }; const { firstName, lastName } = person; // firstName = "John", lastName = "Doe" - Operatore spread (...) e parametri rest (...): Spread per espandere e unire array/oggetti. Rest per raccogliere gli argomenti rimanenti di una funzione in un array.
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 - Classi (Classes): Zucchero sintattico sulla ereditarietà prototipica.
class Car { constructor(brand) { this.brand = brand; } drive() { console.log(`${this.brand} sta guidando.`); } } - Moduli (Modules): Strumento per organizzare il codice con
importeexport.// module.js export const PI = 3.14; // main.js import { PI } from './module.js'; - Promesse (Promises): Semplificano il lavoro con codice asincrono.
new Promise((resolve, reject) => { // Operazione asincrona if (success) { resolve("Successo!"); } else { reject("Errore!"); } }) .then(result => console.log(result)) .catch(error => console.error(error)); - Ciclo for...of: Iterazione sugli oggetti iterabili.
const arr = [1, 2, 3]; for (const value of arr) { console.log(value); // 1, 2, 3 } - Set e Map: Nuove strutture dati. Set per valori unici, Map per coppie chiave-valore.