Lecture audio :

Chapitre 3 : Types de données

1. Introduction aux types de données

En JavaScript, chaque valeur a un type qui détermine quel genre de données elle représente et quelles opérations peuvent être effectuées dessus.

JavaScript possède 7 types primitifs et des objets.

2. Les types primitifs

String (Chaîne de caractères)

Représente du texte entre guillemets simples, doubles ou backticks :

let nom = "Alice";
let prenom = 'Bob';
let message = `Bonjour ${nom}`; // Template literal
console.log(typeof nom); // "string"

Number (Nombre)

Représente les nombres entiers et décimaux :

let age = 25;
let prix = 19.99;
let negatif = -10;
console.log(typeof age); // "number"

Boolean (Booléen)

Représente une valeur vraie ou fausse :

let estMajeur = true;
let estConnecte = false;
console.log(typeof estMajeur); // "boolean"

Undefined

Variable déclarée mais non initialisée :

let x;
console.log(x); // undefined
console.log(typeof x); // "undefined"

Null

Représente une absence intentionnelle de valeur :

let utilisateur = null;
console.log(utilisateur); // null
console.log(typeof utilisateur); // "object" (bug historique de JS)

Symbol

Crée des identifiants uniques (avancé) :

let id = Symbol("id");
console.log(typeof id); // "symbol"

BigInt

Pour les très grands nombres :

let bigNumber = 1234567890123456789012345678901234567890n;
console.log(typeof bigNumber); // "bigint"

3. Les objets et tableaux

Object (Objet)

Collection de paires clé-valeur :

let personne = {
    nom: "Dupont",
    age: 30,
    ville: "Paris"
};
console.log(personne.nom); // "Dupont"
console.log(typeof personne); // "object"

Array (Tableau)

Liste ordonnée de valeurs :

let fruits = ["pomme", "banane", "orange"];
console.log(fruits[0]); // "pomme"
console.log(fruits.length); // 3
console.log(typeof fruits); // "object"
console.log(Array.isArray(fruits)); // true

4. L'opérateur typeof

Permet de connaître le type d'une valeur :

console.log(typeof "Hello");        // "string"
console.log(typeof 42);             // "number"
console.log(typeof true);           // "boolean"
console.log(typeof undefined);      // "undefined"
console.log(typeof null);           // "object" (bug!)
console.log(typeof {});             // "object"
console.log(typeof []);             // "object"
console.log(typeof function(){});   // "function"

5. Conversion de types

Conversion en String

let num = 123;
let str = String(num);     // "123"
let str2 = num.toString(); // "123"
let str3 = "" + num;       // "123" (conversion implicite)

Conversion en Number

let str = "456";
let num = Number(str);     // 456
let num2 = parseInt(str);  // 456
let num3 = parseFloat("3.14"); // 3.14
let num4 = +"789";         // 789 (conversion implicite)

Conversion en Boolean

console.log(Boolean(1));        // true
console.log(Boolean(0));        // false
console.log(Boolean("hello"));  // true
console.log(Boolean(""));       // false
console.log(Boolean(null));     // false
console.log(Boolean(undefined));// false
⚠️ Valeurs falsy : En JavaScript, ces valeurs sont considérées comme false : 0, "", null, undefined, NaN, false

6. Comparaisons et égalité

Égalité stricte (===)

Compare valeur ET type :

console.log(5 === 5);      // true
console.log(5 === "5");    // false (types différents)
console.log(true === 1);   // false

Égalité faible (==)

Compare valeur avec conversion de type :

console.log(5 == "5");     // true (conversion)
console.log(true == 1);    // true
console.log(null == undefined); // true
💡 Bonne pratique : Utilisez toujours === et !== pour éviter les conversions implicites.

7. Valeurs spéciales

NaN (Not a Number)

let resultat = "abc" / 2;
console.log(resultat);        // NaN
console.log(typeof resultat); // "number"
console.log(isNaN(resultat)); // true

Infinity

console.log(1 / 0);           // Infinity
console.log(-1 / 0);          // -Infinity
console.log(typeof Infinity); // "number"

8. Exercice pratique

Créez un script qui teste différents types de données :

// Déclarez des variables de différents types
let nom = "Alice";
let age = 25;
let estEtudiant = true;
let adresse = null;
let telephone;
let hobbies = ["lecture", "sport", "musique"];
let personne = {
    prenom: "Bob",
    age: 30
};

// Affichez le type de chaque variable
console.log("Type de nom:", typeof nom);
console.log("Type de age:", typeof age);
console.log("Type de estEtudiant:", typeof estEtudiant);
console.log("Type de adresse:", typeof adresse);
console.log("Type de telephone:", typeof telephone);
console.log("Type de hobbies:", typeof hobbies);
console.log("hobbies est un tableau?", Array.isArray(hobbies));
console.log("Type de personne:", typeof personne);

// Testez des conversions
console.log("'123' + 456 =", "123" + 456);     // "123456" (concaténation)
console.log("'123' - 456 =", "123" - 456);     // -333 (conversion)
console.log("Boolean('') =", Boolean(""));     // false
console.log("Boolean('hello') =", Boolean("hello")); // true

Conclusion

Vous connaissez maintenant les différents types de données en JavaScript ! Dans le prochain chapitre, nous allons apprendre les structures de contrôle (if, else, boucles).

📝 QCM – Chapitre 3 : Types de données

String
Boolean
Number

Number
String
Boolean
Besoin d'aide ?
Tuteur Virtuel
Bonjour ! Je suis votre tuteur virtuel. Comment puis-je vous aider avec ce cours aujourd'hui ?
Historique des conversations
Chargement...