Beperkings op sleutels van voorwerpe in JavaScript
Ons kan nie alle voorwerp sleutels sonder aanhalingstekens skryf nie, maar net dié wat aan die volgende beperkings voldoen: hulle mag nie met 'n syfer begin nie en mag nie 'n koppelteken, spasie en soortgelyke dinge in hulle hê nie.
As 'n string die beperking oortree, moet dit in aanhalingstekens geplaas word. In die volgende voorbeeld voldoen 'n deel van die sleutels nie aan die voorwaardes nie en daarom staan hulle in aanhalingstekens:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
Na sulke sleutels kan slegs deur vierkantige hakies verwys word:
console.log(obj['1key']);
console.log(obj['key-2']);
Ook sal verwysing na sulke name deur die voorwerp se eienskap tot 'n fout lei:
console.log(obj.1key);
console.log(obj.key-2);
Maar die derde sleutel is aanvaarbaar, en ons kan op beide maniere daarna verwys:
console.log(obj['key3']);
console.log(obj.key3);
Gegee 'n voorwerp:
let obj = {
'1a': 1,
'b2': 2,
'c-c': 3,
'd 4': 4,
'e5': 5
};
Vir watter sleutels van hierdie voorwerp is aanhalingstekens verpligtend, en vir watter is dit nie?
Korrigeer die foute wat in die volgende kode gemaak is:
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);