Comprends var, let et const, et explore les types de données primitifs de JavaScript incluant les chaînes de caractères, les nombres, les booléens, null et undefined.
Les variables sont des conteneurs qui stockent des valeurs de données. JavaScript fournit trois mots-clés pour déclarer des variables :
const — Déclare une constante. La valeur ne peut pas être réassignée après l'initialisation. Utilise ceci par défaut.
const PI = 3.14159;
const name = 'Alice';let — Déclare une variable qui peut être réassignée. Utilise ceci quand la valeur doit changer.
let score = 0;
score = 10; // Ceci est autorisévar — L'ancienne façon de déclarer des variables. Elle est limitée à la portée de fonction plutôt qu'à la portée de bloc, ce qui peut mener à des bugs confus. Évite var en JavaScript moderne.
var oldWay = 'avoid this';Bonne pratique : Préfère toujours const. Utilise let uniquement quand tu sais que la valeur devra changer. N'utilise jamais var dans du nouveau code.
JavaScript a sept types de données primitifs :
| Type | Exemple | Description |
|---|---|---|
| string | 'hello', "world" | Texte entre guillemets |
| number | 42, 3.14, -7 | Nombres entiers et à virgule flottante |
| boolean | true, false | Vrai ou faux logique |
| null | null | Absence intentionnelle d'une valeur |
| undefined | undefined | Variable déclarée mais non assignée |
| symbol | Symbol('id') | Identifiant unique (avancé) |
| bigint | 9007199254740991n | Entiers arbitrairement grands (avancé) |
Tu peux vérifier le type d'une valeur en utilisant l'opérateur typeof :
typeof 'hello' // 'string'
typeof 42 // 'number'
typeof true // 'boolean'
typeof undefined // 'undefined'
typeof null // 'object' (une bizarrerie connue de JS !)<div id="output"></div>
<script>
const greeting = "Hello";
const year = 2024;
const isLearning = true;
let score;
const output = document.getElementById('output');
output.innerHTML = `
<p>greeting: ${greeting} (${typeof greeting})</p>
<p>year: ${year} (${typeof year})</p>
<p>isLearning: ${isLearning} (${typeof isLearning})</p>
<p>score: ${score} (${typeof score})</p>
`;
</script>JavaScript est typé dynamiquement, ce qui signifie que les variables peuvent contenir n'importe quel type et que les types peuvent changer. JavaScript effectue également une coercition de type implicite — il convertit automatiquement les valeurs d'un type à un autre dans certaines situations. Cela peut produire des résultats surprenants :
'5' + 3 // '53' (le nombre 3 est converti en chaîne, puis concaténé)
'5' - 3 // 2 (la chaîne '5' est convertie en nombre, puis soustraite)
'5' * 2 // 10 (la chaîne '5' est convertie en nombre)
true + 1 // 2 (true est converti en 1)Pour éviter les bugs de coercition, utilise toujours l'égalité stricte (===) au lieu de l'égalité souple (==) :
5 == '5' // true (souple : convertit les types avant de comparer)
5 === '5' // false (stricte : des types différents ne sont jamais égaux)Règle d'or : Utilise toujours === et !==. Les opérateurs souples == et != introduisent des bugs subtils difficiles à traquer.
Quel est le résultat de typeof null ?