Programmation JavaScript/Introduction

JavaScript (alias JS) est un langage de programmation utilisĂ© initialement par les navigateurs web, dont le champ d’application s’est progressivement Ă©tendu aux serveurs web et aux applications graphiques. Il partage avec Java une syntaxe inspirĂ©e du langage C, mais leurs similitudes s'arrĂȘtent lĂ . Il fut créé par Netscape sous le nom LiveScript en 1996.

Le noyau du JavaScript est aujourd'hui défini par le standard ECMA 262[1], connu aussi sous l'appellation ECMAScript (ES).

Les fichiers JavaScript possÚdent l'extension .js, mais on trouve aussi des .ts correspondant au TypeScript. Il s'agit d'un sur-ensemble syntaxique strict de JavaScript créé par Microsoft en 2012 pour améliorer et de sécuriser le JS[2].

IntĂ©grĂ© directement au sein des pages Web, le JavaScript est alors exĂ©cutĂ© par le client Web (par opposition au serveur Web) : c'est le navigateur Web qui prend en charge l'exĂ©cution de ces bouts de programme, manipulant leur environnement, appelĂ©s scripts.

GĂ©nĂ©ralement, JavaScript sert Ă  interagir avec le document HTML et ses feuilles de style CSS via l'interface DOM (Document Object Model ; on parle de HTML dynamique ou DHTML pour dĂ©signer cette intĂ©gration des trois langages). JavaScript est ainsi utilisĂ© pour rĂ©aliser des services dynamiques en communication avec le serveur Web, la plupart du temps grĂące Ă  une technique appelĂ©e (abusivement) AJAX.

Il est souvent source de difficultés dues aux nombreuses versions différentes de l'interpréteur et du DOM, dépendantes des éditeurs de navigateurs. Chacun ayant développé sa propre variante supportant (presque) le standard ECMAScript, un ou deux des deux standards DOM, et possédant de surcroßt des fonctionnalités supplémentaires et incompatibles.

Versions

modifier

Voici les diffĂ©rentes versions du JavaScript par annĂ©e[3] :

  • ES2015 / ES6
  • ES2016 / ES7
  • ES2017 / ES8
  • ES2018 / ES9
  • ES2019 / ES10
  • ES2020 / ES11
  • ES2021 / ES12
  • ES2022 / ES13
  • ES2023 / ES14

Moteurs JS

modifier

CĂŽtĂ© client, le langage est compilĂ© par les navigateurs : ils parsent le script, crĂ©ent l'arbre de la syntaxe abstraite (AST), l'optimisent, gĂ©nĂšrent du code Ă  octets en juste-Ă -temps (JIT) Ă  partir de l'arbre, puis le code machine spĂ©cifique au hardware avec cela, et enfin l'exĂ©cute.

Les principaux moteurs de JS sont :

  • V8 de Google, Google Chrome, Electron, Chromium, node.js
  • SpiderMonkey de Mozilla, Firefox
  • JavaScriptCore d'Apple, Safari
  • ActionScript d'Adobe, Flash

Références

modifier