JavaScript
JavaScript a beaucoup évolué depuis ES6 (2015). Voyons les concepts essentiels pour React.
Histoire de JavaScript
JavaScript a été créé en 1995 par Brendan Eich. Aujourd'hui, c'est le langage du web et bien plus encore.
Loi d'Atwood (2007)
"Any application that can be written in JavaScript, will eventually be written in JavaScript."
Où tourne JavaScript ?
- Navigateur - Le web traditionnel
- Serveur - Node.js, Deno, Bun
- Mobile - React Native, Ionic
- Desktop - Electron
- IoT - Johnny-Five
ECMAScript (ES) - L'évolution du langage
ECMAScript est le standard qui définit JavaScript. Chaque version apporte de nouvelles fonctionnalités.
ES6 (2015) - La révolution
ES6 (ECMAScript 2015) a transformé JavaScript avec des fonctionnalités majeures :
🔤 let & const - Variables modernes
➡️ Arrow functions - Syntaxe concise
📦 Modules - import/export
🎯 Destructuration - Extraire facilement
📝 Template literals - Strings améliorés
⏱️ Promises - Code asynchrone
🏛️ Classes - POO simplifiée
... Spread - Copie et fusion
Évolutions depuis ES6
Depuis 2015, une nouvelle version sort chaque année avec des améliorations progressives :
- ES2016 (ES7) -
Array.includes(), opérateur exponentiel** - ES2017 (ES8) -
async/await,Object.entries(),Object.values() - ES2018 (ES9) - Rest/spread pour objets,
Promise.finally() - ES2019 (ES10) -
Array.flat(),Object.fromEntries() - ES2020 (ES11) - Optional chaining
?., nullish coalescing?? - ES2021 (ES12) -
String.replaceAll(),Promise.any() - ES2022 (ES13) - Top-level await, private fields
# - ES2023 (ES14) -
Array.toSorted(),Array.findLast() - ES2024 (ES15) -
Object.groupBy(), Promise enhancements - ES2025 (ES16) - En cours...
Où en sommes-nous aujourd'hui ?
En 2026, nous sommes à ES2025 (ES16). Mais ES6 reste la base fondamentale que tout développeur JavaScript doit maîtriser. Les versions suivantes sont des améliorations incrémentales.
Bonne nouvelle : Tous les navigateurs modernes supportent ES6+ nativement !
Pour React
Dans ce cours, nous allons nous concentrer sur les concepts JavaScript les plus utilisés en React. Chaque section contient des exemples spécifiques à React !
Plan de cette section
Cette section JavaScript est divisée en plusieurs pages pour faciliter l'apprentissage :
Variables & Types
let, const, types primitifs
Strings & Templates
Template literals, interpolation
Fonctions
Arrow functions, fonctions classiques
Tableaux
map, filter, reduce et plus
Objets
Création, manipulation, méthodes
Destructuration
Objets et tableaux
Spread Operator
Immutabilité avec ...
Modules ES6
import, export
Asynchrone
Promises, async/await
Compatibilité navigateurs
Excellente nouvelle
Tous les navigateurs modernes supportent ES6+ !
Depuis 2017, Chrome, Firefox, Safari, et Edge supportent nativement ES6 et les versions ultérieures. Vous n'avez plus besoin de Babel (transpiler) pour la plupart des cas d'usage.
Pour React : Les outils comme Vite et Create React App gèrent automatiquement la compatibilité si nécessaire.
Quelle version d'ECMAScript a introduit les arrow functions, let/const, et les modules ?
Pourquoi apprendre tout ça ?
L'importance des bases
Connaître les concepts JS = mieux collaborer avec l'IA
Sans comprendre les fondamentaux, vous ne pourrez pas :
- Valider le code généré
- Déboguer les erreurs
- Donner des prompts précis
- Adapter les solutions à vos besoins
L'objectif : vous pilotez, l'IA exécute !
Ressources
MDN JavaScript Guide
Guide complet JavaScript par Mozilla avec exemples interactifs
DocumentationJavaScript.info
Tutoriel moderne et détaillé couvrant tout JavaScript
Site webTC39 Proposals
Suivre les nouvelles fonctionnalités JavaScript en cours de développement
Site webCan I Use
Vérifier la compatibilité des fonctionnalités JavaScript
Site web