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 maVariableDé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");
lengthlet 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: exprSiFauxfunction :
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