Ana içeriğe geç
Modül 3 · Ders 2 ders 4Kurstaki 10/32~10 min
Modül dersleri (2/4)

Nesneler: anahtar/değer haritası

JS'deki bir nesne, anahtar → değer çiftlerinin sırasız bir koleksiyonudur. Anahtarlar dizelerdir (veya Symbol), değerler herhangi bir şeydir: sayılar, dizeler, diziler, diğer nesneler, işlevler. En çok kullanılan veri yapısıdır. dil: etki alanınızdaki her "kayıt" genellikle bir nesne olacaktır.

JS
const utente = {
  nome: 'Anna',
  eta: 28,
  attivo: true,
  ruoli: ['admin', 'editor'],
};

Okuma özellikleri: nokta ve parantez

İki eşdeğer gösterim vardır:

JS
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]; // 28

eksik bir özellik hatasız olarak undefined değerini döndürür:

JS
utente.telefono; // undefined

Ekleme, değiştirme, çıkarma

JS
const u = { nome: 'Anna' };
u.eta = 28; // adds
u.nome = 'Anna B.'; // modifies
delete u.eta; // removes the property

delete bir anahtar kelimedir. Nadir bir kullanım durumu ortaya çıkacak: çoğu Bir zaman bu anahtar olmadan yeni bir nesne üretmek isteyeceksiniz (bunu göreceğiz) yayılma ile).

Kısayol: değişken gibi adlandırılan tuşlar

Anahtar adı değişken adıyla eşleştiğinde çoğaltmayı atlayabilirsiniz:

JS
const nome = 'Anna';
const eta = 28;

const u1 = { nome: nome, eta: eta }; // explicit form
const u2 = { nome, eta }; // shorthand, equivalent

Bir mülkün varlığının kontrol edilmesi

Tercih sırasına göre üç seçenek:

JS
'nome' in utente; // true   ← in operator
utente.nome !== undefined; // true   ← works almost always
Object.hasOwn(utente, 'nome'); // true   ← modern, safe

Deneyin

Egzersiz#js.m3.l2.e1
Denemeler: 0Yükleniyor…

user = { name: 'Sara', age: 22 } nesnesini oluşturun, ardından 'active' özelliğini true olarak ayarlayın ve nesneyi son ifade olarak döndürün.

Düzenleyici yükleniyor…
İpucu göster

Nokta gösterimi ile özellikleri sonradan ekleyebilirsiniz.

3 denemeden sonra çözüm mevcut

Alıştırmayı gözden geçirin

Egzersiz#js.m3.l2.e2
Denemeler: 0Yükleniyor…

`product = { code: 'A1', fiyat: 9,9 }` ve `key = 'price'` dizesi verildiğinde, parantez gösterimini kullanarak fiyatı döndürün (son ifade 9,9 olarak değerlendirilmelidir).

Düzenleyici yükleniyor…
İpucu göster

Parantezlerle bir değişkeni anahtar olarak iletebilirsiniz.

3 denemeden sonra çözüm mevcut