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 :

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