Plan

Ressources

Langage compilé ou interprété ?

#TODO

Qu'est-ce que le JavaScript ?

Le javascript est le langage qui permet d'écrire des scripts (programmes) pour rendre les pages web dynamique a partir du navigateur. Le JS est un langage interprété
Initialement, il n'était disponible que sur les navigateurs. On peut maintenant l'utiliser sur les serveurs grâce à Node.js. De manière générale, on peut l'utiliser sur toutes les machines qui ont un Javascript Engine.

Le Javascript est un langage de haut-niveau. Il n'est pas possible de gérer la mémoire et le CPU comme en C.

Pourquoi le JavaScript s'appelle JavaScript ?

Lors qu'il a été développé par Brendan Eich pour le compte de Netscape, en 10 jours, en décembre 1995, le langage s'appelait Mocha comme le café mochaccino et futur framework de test JS. Il a été ensuite renommé LiveScript puis JavaScript.

Le renommage en JavaScript a été un mouvement marketing pour surfer sur la vague de Java qui avait alors un ans et importe croissance.

https://web.archive.org/web/20020606002913/https://wp.netscape.com/newsref/pr/newsrelease67.html

Qu'est-ce que ECMAScript ?

ECMAScript est la standard sur laquelle sont basé le JavaScript et ActionScript.
ECMAScript est standardisé par ECMA International grâce aux spécifications ECMA-262 et ECMA-402. ECMA est les initiale de European Computer Manufacturers Association.

#todo exemple de feature intégrer dans les versions
#TODO expliquer le numérotage des versions

Importance du standard

https://tc39.es/ecma262/

Qu'est-ce que ES15, ES17 ... ?

ECMASCRIPT est un langage qui évolue. Il est versionné et chaque version apporte de nouvelles features.

Par example

Que peux-t-on faire avec le JavaScript dans le navigateur ?

Ce que l'on peut en JavaScript dépend fortement de l'endroit il est exécuté.
Sur le navigateur, les fonctions du JS sont limité afin de sécurisé l'utilisateur.
Les capacités du JS y sont limitées à la manipulation de la page web, à l'interaction avec l'utilisateur et le serveur.

Par example, il peut:

global variable vs local variable