Lecții din modul (2/4)
Obiecte: harta cheie-valoare
Un obiect în JS este o colecție neordonată de perechi cheie → valoare.
Cheile sunt șiruri de caractere (sau Symbol), valorile sunt orice: numere, șiruri de caractere,
tablouri, alte obiecte, funcții. Este cea mai folosită structură de date din
limba: fiecare „înregistrare” din domeniul dvs. va fi de obicei un obiect.
const utente = {
nome: 'Anna',
eta: 28,
attivo: true,
ruoli: ['admin', 'editor'],
};Proprietăți de citire: punct vs paranteză
Există două notații echivalente:
utente.nome; // 'Anna' (dot — the normal form)
utente['nome']; // 'Anna' (bracket — equivalent)
// Brackets are MANDATORY when:
// 1) the key is not a valid identifier
const tag = { 'codice-fiscale': 'ABC123' };
tag['codice-fiscale']; // OK
// tag.codice-fiscale; // syntax error
// 2) the key is computed (variable/expression)
const campo = 'eta';
utente[campo]; // 28O proprietate lipsă returnează undefined, fără erori:
utente.telefono; // undefinedAdăugarea, modificarea, eliminarea
const u = { nome: 'Anna' };
u.eta = 28; // adds
u.nome = 'Anna B.'; // modifies
delete u.eta; // removes the propertydelete este un cuvânt cheie. Se va dovedi a fi un caz de utilizare rar: majoritatea
timp în care veți dori să produceți un obiect nou fără acea cheie (vom vedea asta
cu răspândire).
Stenografie: chei numite ca variabila
Când numele cheii se potrivește cu numele variabilei, puteți omite duplicarea:
const nome = 'Anna';
const eta = 28;
const u1 = { nome: nome, eta: eta }; // explicit form
const u2 = { nome, eta }; // shorthand, equivalentVerificarea prezenței unei proprietăți
Trei variante, în ordinea preferințelor:
'nome' in utente; // true ← in operator
utente.nome !== undefined; // true ← works almost always
Object.hasOwn(utente, 'nome'); // true ← modern, safeÎncearcă
Creați utilizatorul obiect = { nume: „Sara”, vârsta: 22 }, apoi adăugați proprietatea „activ” setată la true și returnați obiectul ca ultima expresie.
Afișează indiciu
Puteți adăuga proprietăți după fapt cu notație punct.
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
Având în vedere `product = { cod: 'A1', price: 9.9 }` și șirul `key = 'price'`, returnați prețul folosind notația paranteze (ultima expresie trebuie să fie evaluată la 9.9).
Afișează indiciu
Cu paranteze puteți trece o variabilă ca cheie.
Soluție disponibilă după 3 încercări