Le langage utilisé pour écrire ces programmes est JavaScript.
<script>
:
<script> console.log("Salut !"); </script>
<script src="URL du script externe"></script>
Utile dans les cas suivants :
<script>
?<script>
peut se placer :
<head>
)<body>
)<script>
, il le télécharge
(si nécessaire) puis l'exécute, et
attend qu'il soit terminé avant
de reprendre le rendu du HTML<script>
à la fin de la page, juste avant de fermer le <body>
.defer
: <script src="lecode.js" defer ></script>
console.log("Hello");
: affiche dans la console du navigateuralert("Hello");
: ouvre une boite de dialogue, mais bloque le script en le mettant en pauseconsole.log
dans les TPs (sauf instruction spécifique)console.log("Bonjour %s. Tu m'as téléphoné %d fois.", "Bobby", 9); // affichera Bonjour Bobby. Tu m'as téléphoné 9 fois.Documentation de la console
Raccourci Firefox pour ouvrir la console : Ctrl+Maj+K
(Cmd+Opt+K
pour Apple)
OBSOLÈTE Vous trouverez aussi des tutos avec document.write("Hello");
, ne PAS utiliser.
Démo 1 : les 3 exemples
Démo 2 : console.log ne bloque pas l'exécution du code
"use strict";
au début d'un script (ou d'une fonction) — les guillemets font partie de la syntaxe
(la ligne est simplement ignorée par les moteurs JS plus anciens)let
)"use strict";
est obligatoire pour les TPs;
fait partie des bonnes pratiques de codage Javascriptlet
:
let toto = 4;
console.log(toto);
toto = "bonjour";
console.log(toto);
const
const toto = 4;
console.log(toto);
toto = 7; // => erreur
var
pour déclarer des variables. La gestion de la portée des variables est alors différente. Ne pas utiliser var
pour les TPs"Toto"
ou 'Toto'
(équivalent)"Toto a " + 45 + " ans"
(il suffit qu'un seul opérande soit une chaîne pour que tous les +
soient
des concaténations)"123" + 4 // "1234" "123" - 4 // 119 "a" + 2 + 1 // "a21", pas "a3" !
undefined
pour les variables n'ayant pas eu de valeur assignéetypeof maVariable
permet d'obtenir le type du contenu de maVariable
Démo types et opérateurs
let toto = { "nom": "Durand", "prenom": "Toto", "age": 45 }
console.log("Je m'appelle " + toto["prenom"] + " et j'ai " + toto["age"] + " ans"); // ou bien console.log("Je m'appelle " + toto.prenom + " et j'ai " + toto.age + " ans");
length
let personnes = ['Nicolas', 'Sarah', 'Alexandra']; console.log(personnes[0]); console.log(personnes.length); personnes[100] = 'Coralie'; console.log(personnes.length);
personnes.push('Mika')
let personnes = ['Nicolas', 'Sarah', 'Alexandra']; let autres = ['Mike', ...personnes, 'Cindy']; console.log(autres);
cond? exprSiVrai: exprSiFaux
function
:
function addition(entier1, entier2) { let somme = entier1 + entier2; return somme; }
function
:
const additionBis = function (entier1, entier2) { let somme = entier1 + entier2; return somme; }Nota : on utilisera alors
const
plutôt que let
const additionTer = (a, b) => a + b;ou si fonction plus "longue" :
const additionTer = (a, b) => { let somme = a + b; return somme; }Nota : pas mal de différences subtiles pour les fonctions fléchées (prudence donc)
return
(pas d'indication du type de retour)const maFonction = ...
on peut pas appeler celle-ci avant sa création dans le codefunction toto() ...
cela est possiblelet
et const
, la portée des variables et liée au bloc dans lequel la déclaration se trouve
Conséquence : les variables déclarées en dehors de tout bloc sont alors globales