Batasan pada Kunci Objek dalam JavaScript
Kita tidak bisa menulis tanpa tanda kutip untuk semua kunci objek, hanya untuk yang memenuhi batasan berikut: kunci tidak boleh diawali dengan angka dan tidak boleh mengandung tanda hubung, spasi, dan hal-hal serupa di dalamnya.
Jika string melanggar batasan, maka harus diberi tanda kutip. Dalam contoh berikut, sebagian kunci tidak memenuhi syarat dan karenanya diberi tanda kutip:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
Untuk kunci seperti ini, kita hanya bisa mengaksesnya melalui tanda kurung siku:
console.log(obj['1key']);
console.log(obj['key-2']);
Juga, mengakses nama-nama tersebut melalui properti objek akan menyebabkan error:
console.log(obj.1key);
console.log(obj.key-2);
Namun kunci ketiga - diperbolehkan, dan kita dapat mengaksesnya dengan kedua cara:
console.log(obj['key3']);
console.log(obj.key3);
Diberikan objek:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
Untuk kunci mana dari objek ini tanda kutip wajib digunakan, dan untuk kunci mana tidak?
Perbaiki kesalahan yang dilakukan dalam kode berikut:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
console.log(obj.1a);
console.log(obj.b2);
console.log(obj.c-c);
console.log(obj.d 4);
console.log(obj.e5);