Remi Forax
“JavaScript is a high-level, dynamic, untyped, and interpreted programming language. JavaScript is prototype-based with first-class functions, making it a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles”
source: Wikipedia.org - JavaScript
“JavaScript est un language de programmation de haut niveau, dynamique, non typé et interprété. JavaScript est basé sur la notion de prototypes avec des fonctions vues comme des valeurs, qui en font un langage multi-paradigme supportant les styles de programmation impératif, fonctionel et objet”
source : Wikipedia.org - JavaScript
ECMAScript 1/2/3 | 1997/1998/1999 |
Abandonné | |
ECMAScript 5/5.1 | 2009/2011 |
ECMAScript 6 | 2015 |
ECMAScript 2021 | 2021 |
Une variable locale se déclare avec le mot-clef let.
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 '$'.
On peut aussi déclarer une variable avec 'const' et 'var' mais on verra plus tard.
Si on oublie de déclarer une variable, le programme plante !
On ne peut pas déclarer une variable deux fois
Une variable locale non initialisée a la valeur undefined.
Il y a deux formes de commentaires // et /* */
Il existe 3 types de base, boolean, number et string.
L'opérateur typeof permet d'obtenir le type à partir d'une valeur.
Il y a d'autres types pour les tableaux, les dictionnaires (ou objets)
et les fonctions que l'on verra plus tard.
Les opérateurs classiques +, -, *, /, % sur les numbers
Les nombres sont toujours des nombres à virgule flottante,
si le nombre est un entier le .0 est pas affiché
Les opérateurs de tests ==, !=, <, <=, >, >= sur les numbers
true (vrai) et false (faux) sont des valeurs prédéfinies
Le calcul sur les flottants est 'sécurisé', pas d'erreur
Not a Number (NaN) est bizarre !
il n'est pas égal à lui-même
Les résultats d'un calcul sont arrondis au flottant
le plus proche
Ne pas utiliser == ou != sur des flottants
Les opérateurs && et || permettent
de tester plusieurs conditions
== et != sont définies 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
Les anti-quotes (`) permettent de définir une chaine de caractère
contenant des expressions.
${...} introduit une expression.
if permet de demander d'exécuter un morceau de code sous certaines conditions
if ... else permet de demander d'exécuter un morceau de code différent dans chaque cas.
L'opérateur ?: permet de faire un if entre des expressions.
si la partie gauche d'un && est false, la partie droite est pas évaluée.
si la partie gauche d'un || est true, la partie droite est pas évaluée.
while permet de répéter l'exécution d'un morceau de code (avec des valeurs différentes)
for permet de répéter l'exécution d'un morceau de code sans oublier l'incrémentation
Il est possible de faire l'initialisation à l'intérieur du for
break permet d'arrêter une boucle (return aussi)
continue saute le tour de boucle courant et passe à l'incrémentation suivante
JavaScript emprunte la syntaxe du C pour les incrémentations
i++ (resp. i--) renvoie la valeur de i puis incrémente
++i (resp. --i) incrémente puis renvoie la nouvelle valeur de i