JavaScript'te Nesne Özelliğine Erişim Hatası
Bir nesnenin özelliğine erişirken, bu özelliğin adı bir değişkende saklanamaz. Nedenini görelim. Elimizde şu şekilde bir nesne olduğunu varsayalım:
let obj = {a: 1, b: 2, c: 3};
Diyelim ki bir değişkende, değerini almak istediğimiz özelliğin adı saklanıyor:
let key = 'a';
Bu değişkeni kullanarak nesnenin özelliğine erişmeye çalışalım:
console.log(obj.key); // undefined
Yukarıdaki kod çalışmayacaktır, çünkü
aslında 'key' adında bir özellik
arıyoruz, değişken key içinde saklanan
addaki özelliği değil. Yani aslında
kodumuz şununla eşdeğerdir:
console.log(obj['key']);
Bir öğeye, değişkendeki anahtar ile erişmenin tek yolu, bu değişkeni köşeli parantezler içinde yazmaktır:
console.log(obj[key]);
Aşağıdaki kodda yapılan hatayı düzeltin:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Aşağıdaki kodda yapılan hatayı düzeltin:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);