Raconté par Vincent Jugé
sur la base d'un cours créé par Rémi Forax
ECMAScript 1/2 | 1997/1998 |
ECMAScript 3 | 1999 |
Abandonné | |
ECMAScript 5 | 2009 |
ECMAScript 5.1 | 2011 |
ECMAScript 6 | 2015 |
ECMAScript 15 | 2024 |
Dans le mode par défaut (pas strict)
ce qui est stupide !
La première ligne du fichier doit être
"use strict";
Il y a deux formes de commentaires : // et /* */
// le commentaire sur une ligne
// 3
/*
le commentaire sur plusieurs lignes
*/
Une variable locale se déclare avec le mot-clé let.
Il existe aussi un mot-clé var, mais on évitera à tout prix de s'en servir.
Il y a également un mot-clé const que l'on verra très bientôt.
Une variable peut être initialisée en même temps que la déclaration ou plus tard.
Le nom d'une variable est composé de lettres, '_', '$', et chiffres (sauf en première position).
La définition précise de l'ensemble des noms autorisés est plus compliquée.
On termine toujours une initialisation/déclaration par un ';'.
La syntaxe d'ECMAScript est ambiguë si on omet les ';'.
L'indentation est optionnelle mais fortement recommandée.
Si on oublie de déclarer une variable, le programme plante !
Si on tente d'utiliser une variable avant de la déclarer, le programme plante aussi !
Une variable locale non initialisée a la valeur undefined.
Une constante locale se déclare avec le mot-clé const.
Une constante est une variable qui ne varie pas.
Une constante doit être initialisée en même temps que la déclaration, et sa valeur ne peut pas changer.
On peut bien sûr n'utiliser que le mot-clé let, mais c'est moins sympa pour le lecteur qui croira que notre variable a vocation à varier.
Il existe trois types de base : number,
boolean et string.
L'opérateur typeof
permet d'obtenir le type à partir d'une valeur.
Il y a aussi deux autres types : object et function.
Les opérateurs classiques +, -, *, /, % sur les number :
Les nombres sont soit des entiers,
soit des nombres à virgule flottante.
Les résultats d'un calcul sont arrondis au
flottant le plus proche.
Il y aura toujours des erreurs d'arrondi !
Les opérateurs de tests ==, !=, <, <=, >, >= sur les number :
true (vrai) et false (faux) sont des valeurs prédéfinies.
Ne jamais faire des tests d'égalité sur des flottants :
Ne jamais faire des tests d'égalité sur des objets de types différents :
Les opérateurs && (ET) et || (OU) permettent
de tester plusieurs conditions.
L'opérateur ! (NON) permet d'inverser une condition.
== et != sont définis pour tous les types, avec plus ou moins de bonheur si les types sont différents.
=== et !== testent d'abord que le type est identique !
Le + fait la concaténation si l'opérande à gauche ou à droite est une string.
Cela permet d'insérer une expression dans une chaîne de caractères.
Les anti-quotes (`) permettent de définir une chaîne de caractères
contenant des expressions.
${...} introduit une expression.