Özellik erişimi
- Node.js kursu
- Başlangıç
- Ders 66/116
- 5 dk
. ve [] ile özelliklere erişmeyi öğrenirsin.
Özellik erişimi
Nesnenin bir özelliğine erişmenin iki yolu vardır: nokta ve köşeli parantez. İkisi de aynı sonuçu verir; ama kullanıldıkları durumlar farklıdır.
Nokta yazımı: user.name. Özellik adı geçerli bir tanımlayıcıysa (harf, rakam, alt çizgi; rakamla başlamaz) nokta kullanılır. Daha kısa ve okunaklıdır.
Köşeli parantez yazımı: user['name']. Özellik adı boşluk, tire içeriyorsa ya da dinamik olarak hesaplanıyorsa köşeli parantez kullanmak zorunludur. Örnek: user['full name'] nokta ile yazılamaz.
Nokta mı, köşeli parantez mi?
Nokta ve köşeli parantez arasında seçim yaparken özellik adının yapısına bakmalısın. Ad geçerli bir tanımlayıcıysa ve baştan belliyse nokta en iyi seçimdir. Adı bir değişkenden geliyorsa, boşluk içeriyorsa veya tire gibi özel karakterler varsa köşeli parantez kullanmalısın.
Dinamik erişim örneği: const key = 'age'; console.log(user[key]). Burada key değişkeni adı taşıdığı için köşeli parantez zorunludur; user.key yazarsan JavaScript 'key' adlı bir özellik arar ve undefined döner.
Olmayan bir özelliğe erişirsen her iki yazımda da undefined döner; hata fırlatılmaz. Bu yüzden özellik varlığını kontrol etmek için user.name !== undefined veya 'name' in user kullanabilirsin.
Uygulama Ürün fiyatını yazdır
{ name: 'Kalem', price: 25, stock: 100 } yapısında bir product nesnesi tanımla. price özelliğini köşeli parantezle (product['price']) erişip console.log ile yazdır.
Başlangıç kodu
// product nesnesini tanımla, price özelliğini köşeli parantezle yazdırÖrnek çözüm
const product = { name: 'Kalem', price: 25, stock: 100 };
console.log(product['price']);Beklenen çıktı
25
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Köşeli parantezle eriş
const user = { name: 'Ayşe', age: 30 };
console.log(user[____]);
const user = { name: 'Ayşe', age: 30 };
console.log(user['name']);
Açıklama: user['name'] köşeli parantezle erişimdir.
2 Hangi durumda köşeli parantez zorunlu?
- Özellik adı kısa ise
- Özellik adı boşluk içeriyor ise Doğru cevap
- Nesne büyük ise
- Özellik sayısal değer ise
Açıklama: boşluk içeren adlar nokta ile yazılamaz.
3 Erişim biçimlerini eşle
| Kavram | Anlamı |
|---|---|
user.name |
Nokta erişimi |
user['name'] |
Köşeli parantez erişimi |
user[key] |
Dinamik erişim |
undefined |
Olmayan özelliğin sonuçu |