Junior
Avec quelles nouveautés en ES6 êtes-vous familier?
sobes.tech IA
Réponse de l'IA
- let, const, var: let et const pour la portée de bloc, var pour la portée de fonction. const pour les constantes, let pour les variables qui peuvent être réaffectées.
- Fonctions fléchées (Arrow Functions): Syntaxe raccourcie pour déclarer des fonctions.
thislexical. - Littéraux de modèle (Template Literals): Permettent d’insérer des expressions et des chaînes multilignes.
const name = "World"; const greeting = `Hello, ${name}!`; // "Hello, World!" - Destructuration (Destructuring Assignment): Manière pratique d’extraire des valeurs de tableaux et d’objets.
const person = { firstName: "John", lastName: "Doe" }; const { firstName, lastName } = person; // firstName = "John", lastName = "Doe" - Opérateur spread (...) et paramètres rest (...): Spread pour étendre et fusionner des tableaux/objets. Rest pour rassembler les arguments restants d’une fonction dans un tableau.
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 - Classes (Classes): Sucre syntaxique sur l’héritage prototype.
class Car { constructor(brand) { this.brand = brand; } drive() { console.log(`${this.brand} is driving.`); } } - Modules (Modules): Outil pour organiser le code avec
importetexport.// module.js export const PI = 3.14; // main.js import { PI } from './module.js'; - Promises (Promesses): Simplifient le travail avec le code asynchrone.
new Promise((resolve, reject) => { // Opération asynchrone if (success) { resolve("Succès!"); } else { reject("Erreur!"); } }) .then(result => console.log(result)) .catch(error => console.error(error)); - Boucle for...of: Itération sur des objets itérables (tableaux, chaînes, Map, Set, etc.).
const arr = [1, 2, 3]; for (const value of arr) { console.log(value); // 1, 2, 3 } - Set et Map: Nouvelles structures de données. Set pour des valeurs uniques, Map pour des paires clé-valeur.