Débutant20 min de lecture

Variables et types de données

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.

Déclarer des variables

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.

    javascript
    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.

    javascript
    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.

    javascript
    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.

Types de données primitifs

JavaScript a sept types de données primitifs :

TypeExempleDescription
string'hello', "world"Texte entre guillemets
number42, 3.14, -7Nombres entiers et à virgule flottante
booleantrue, falseVrai ou faux logique
nullnullAbsence intentionnelle d'une valeur
undefinedundefinedVariable déclarée mais non assignée
symbolSymbol('id')Identifiant unique (avancé)
bigint9007199254740991nEntiers arbitrairement grands (avancé)

Tu peux vérifier le type d'une valeur en utilisant l'opérateur typeof :

javascript
typeof 'hello'    // 'string'
typeof 42         // 'number'
typeof true       // 'boolean'
typeof undefined  // 'undefined'
typeof null       // 'object' (une bizarrerie connue de JS !)

Travailler avec les variables et les types

html
<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>

Coercition de type

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 :

javascript
'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 (==) :

javascript
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 ?

Prêt à pratiquer ?

Crée ton compte gratuit pour accéder à l'éditeur de code interactif, lancer les défis et suivre ta progression.