Leçons du module (2/4)
Objets : la table de hachage
Un objet en JS est une collection non ordonnée de paires clé → valeur.
Les clés sont des chaînes (ou des Symbol), les valeurs peuvent être n'importe quoi :
nombres, chaînes, tableaux, autres objets, fonctions. C'est la structure de données
la plus utilisée du langage : chaque "enregistrement" de ton domaine sera
généralement un objet.
const utente = {
nome: 'Anna',
eta: 28,
attivo: true,
ruoli: ['admin', 'editor'],
};Lire des propriétés : dot vs bracket
Il existe deux notations équivalentes :
utente.nome; // 'Anna' (dot — la forma normale)
utente['nome']; // 'Anna' (bracket — equivalente)
// Le bracket sono OBBLIGATORIE quando:
// 1) la chiave non è un identificatore valido
const tag = { 'codice-fiscale': 'ABC123' };
tag['codice-fiscale']; // OK
// tag.codice-fiscale; // errore di sintassi
// 2) la chiave è calcolata (variabile/espressione)
const campo = 'eta';
utente[campo]; // 28Une propriété manquante renvoie undefined, sans erreur :
utente.telefono; // undefinedAjouter, modifier, supprimer
const u = { nome: 'Anna' };
u.eta = 28; // aggiunge
u.nome = 'Anna B.'; // modifica
delete u.eta; // rimuove la proprietàdelete est un mot-clé (keyword). Il s'agira d'un cas d'utilisation rare : dans la
plupart des cas, tu voudras produire un nouvel objet sans cette clé (nous le
verrons avec l'opérateur spread).
Shorthand : des clés qui portent le même nom que la variable
Lorsque le nom de la clé coïncide avec celui de la variable, tu peux omettre la duplication :
const nome = 'Anna';
const eta = 28;
const u1 = { nome: nome, eta: eta }; // forma esplicita
const u2 = { nome, eta }; // shorthand, equivalenteVérifier la présence d'une propriété
Trois options, par ordre de préférence :
'nome' in utente; // true ← operatore in
utente.nome !== undefined; // true ← funziona quasi sempre
Object.hasOwn(utente, 'nome'); // true ← moderno, sicuroÀ toi de jouer
Crée l'objet user = { name: 'Sara', age: 22 }, puis ajoute la propriété 'active' à true et renvoie l'objet comme dernière expression.
Afficher l'indice
Tu peux ajouter des propriétés après coup avec la notation par point (dot notation).
Solution disponible après 3 tentatives
Exercice de révision
Étant donné `product = { code: 'A1', price: 9.9 }` et la chaîne `key = 'price'`, renvoie le prix en utilisant la notation entre crochets (la dernière expression doit s'évaluer à 9.9).
Afficher l'indice
Avec les crochets, tu peux passer une variable comme clé.
Solution disponible après 3 tentatives