Le DOM (Document Object Model) est très critiqué, mais c'est une bibliothèque implémentée dans les navigateurs, elle ne fait pas partie du coeur du langage.
Contrairement aux idées reçues, Internet Explorer s'est très vite conformé à la norme ECMAScript 3 (mais pas au DOM du W3C).
Le javascript est un langage orienté objet. Un programme javascript est un ensemble d’objets communicants entre eux. Un objet est une collection de propriétés. Une propriété (n’est pas mais) contient une valeur primitive ou un objet. Si cet objet est une fonction on parle alors d’une méthode.
Nombres à virgule flottante sur 64 bits. Attention aux pièges que cela induit.
2.998e8 //notation scientifique possible 0.1 + 0.2 // ?? var nb = Math.pow(2,53); (nb+1) - nb // ??
Délimitée indiféremment par des apostrophes (simple quote) ou des guillemets (double quote). L'antislash permet d'insérer des caractères spéciaux (apostrophe, tabulation, saut de ligne, etc).
"toto" 'toto' "l'après-midi" 'l\'après-midi' 'une "citation"' "une \"citation\"" "un retour à la \n ligne" "pas de retour à la \\n ligne" "pas d'antislash : \ " "un antislash : \\ "
var toto; toto //undefined
var toto = null;
var reponse = 42; reponse = "toto";Si des expressions impliquent des chaînes et des nombres avec l'opérateur +, les nombres sont convertis en chaînes
x = "La réponse est " + 42 // "La réponse est 42" y = 42 + " est la réponse" // "42 est la réponse"
function sleep1s() { return new Promise(function(resolve,reject) { window.setTimeout(resolve,1000); }); } function message() { window.alert("1s plus tard"); } sleep1s().then(message); sleep1s().then(message).then(sleep1s).then(message);