Déclarer des variables avec let et const, connaître les types primitifs (nombre, chaîne, booléen, undefined, null) et les objets de base, et vérifier un type avec typeof.
1Situer
Une petite épicerie de Meknès veut une page qui calcule le prix d'un panier : le nom du produit, son prix, la quantité, s'il est en promotion. Chaque information doit être rangée quelque part dans le programme, avec un nom, pour pouvoir la réutiliser et la modifier : c'est le rôle des variables.
2Comprendre
Une variable : une étiquette et une valeur
let quantite = 2 : une boîte étiquetée quantite reçoit la valeur 2.
1 / 5
Déclarer une variable
let quantite =2; // une variable qui peut changerconst prix =65; // une constantelet remise; // déclarée sans valeur : undefined
const par défaut, let si la valeur doit changer.
var est l’ancienne syntaxe : elle a des comportements surprenants, on l’évite.
Noms en camelCase : prixUnitaire, nbArticles. Pas de chiffre au début, pas de tiret, pas de mot réservé.
Les types primitifs
Type
Exemples
typeof
nombre
12, 3.5, -4
"number"
chaîne
'Fès', "Fès", `Fès`
"string"
booléen
true, false
"boolean"
indéfini
undefined
"undefined"
vide
null
"object" (une bizarrerie historique)
JavaScript est dynamiquement typé : une variable n’a pas de type fixe, c’est la valeur qui en a un.
Les objets de base
En plus des primitifs, JavaScript fournit des objets prêts à l’emploi, vus à la leçon B.6 et suivantes : les tableaux (['thé', 'sucre']), les objets ({ nom: 'Thé', prix: 18 }), Date, Math, les expressions régulières, JSON.
Conversions
Number('12') // 12String(12) // "12"parseInt('12 DH') // 12parseFloat('3.5') // 3.5Number('abc') // NaN (Not a Number)
Attention : avec +, si l’un des deux est une chaîne, JavaScript colle les textes : '5' + 3 donne "53".
Exemple simple
Les bocaux étiquetés de l'épicier
Chaque bocal a une étiquette (le nom de la variable) et un contenu (la valeur). Avec let, on peut vider le bocal et le remplir autrement. Avec const, le bocal est scellé : sa valeur ne change plus.
let quantite =2; // peut changer
quantite =3; // okconst TVA =0.2; // ne change pas
TVA =0.1; // TypeError : Assignment to constant variable
Exemple simple
Le type, c'est la nature du contenu
Dans un bocal on met des olives, dans un autre de l'huile. En JavaScript, une valeur est un nombre, un texte (chaîne), un vrai/faux (booléen)... typeof dit ce qu'il y a dedans.
○Mettez la quantité à 3 (quantite = 3) : la page affiche 3
○Affichez dans la console le type d'une constante enPromo qui vaut true (boolean)
○Déclarez une variable total qui vaut prix * quantite et affichez-la dans la console (195)
○Affichez dans la console typeof d'une variable déclarée sans valeur (undefined)
4Pratiquer
Exercice 1 · let ou const ?
Pour chaque donnée de l'épicerie, choisissez let ou const : (1) le nom de l'épicerie ; (2) le nombre d'articles dans le panier ; (3) le taux de TVA ; (4) le total du panier.
Voir le corrigé
const nomEpicerie ='Épicerie Zitoun'; // ne change paslet nbArticles =0; // change à chaque ajoutconst TVA =0.2; // fixelet total =0; // recalculé
Exercice 2 · Les noms de variables
Lesquels de ces noms sont valides ? prixUnitaire, 2prix, prix-total, prix_total, let, $panier
Voir le corrigé
valides : prixUnitaire (camelCase, conseillé), prix_total, $panier
invalides : 2prix (commence par un chiffre), prix-total (le - est une soustraction),
let (mot réservé)
Exercice 3 · Le piège des chaînes
Que vaut '5' + 3 ? Et '5' * 3 ? Expliquez.
Voir le corrigé
'5'+3// "53" : avec une chaîne, + colle les textes (concaténation)'5'*3// 15 : * n'existe que pour les nombres, '5' est convertiNumber('5') +3// 8 : on convertit d'abord explicitement