JavaScript-däki obýektiň aýratynlygyna ýüzleniş säwesi
Obýektiň aýratynlygyna ýüzlenilende, bu aýratynlygyň ady üýtgeýjide saklanap bilmeýär. Sebäbini göreli. Bizde şeýle bir obýekt bar:
let obj = {a: 1, b: 2, c: 3};
Üýtgeýjide, bahasyny almak isleýän aýratynlygymyzyň ady saklanyldy diýeliň:
let key = 'a';
Bu üýtgeýjini ulanyp, obýektiň aýratynlygyna ýüzlenmäge synanyşalyň:
console.log(obj.key); // undefined
Görkezilen kod işlemez, sebäbi aslynda biz
'key' atly aýratynlygy gözleýäris,
key üýtgeýjisinde saklanýan ada eýe
aýratynlygy däl. Ýagny aslynda biziň kodymyz
aşakdaky kod bilen deňdir:
console.log(obj['key']);
Üýtgeýjiden gelen açary ulanyp elemente ýüzlenmegiň ýeke-täk usuly, bu üýtgeýjini kwadrat möýnüşli ýaýlara ýazmakdyr:
console.log(obj[key]);
Aşakdaky kodda ýüze çykan ýalňyşlygy düzediň:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj.prop);
Aşakdaky kodda ýüze çykan ýalňyşlygy düzediň:
let obj = {x: 1, y: 2, z: 3};
let prop = 'x';
console.log(obj['prop']);