Ограничения на ключи объектов в JavaScript
Мы можем писать без кавычек не все ключи объектов, а только те, которые удовлетворяют следующим ограничениям: они не могут начинаться с цифры и не могут содержать внутри себя дефис, пробел и тому подобные вещи.
Если строка нарушает ограничение, то ее нужно брать в кавычки. В следующем примере в часть ключей не удовлетворяет условиям и поэтому стоят в кавычках:
let obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};
К таким ключам можно обращаться только через квадратные скобки:
console.log(obj['1key']);
console.log(obj['key-2']);
Также обращение к таким именем через свойство объекта приведет к ошибке:
console.log(obj.1key);
console.log(obj.key-2);
А вот третий ключ - допустимый, и к нему мы можем обращаться обоими способами:
console.log(obj['key3']);
console.log(obj.key3);
Дан объект:
let obj = {
'1a': 1,
'b2': 2,
'с-с': 3,
'd 4': 4,
'e5': 5
};
Для каких ключей данного объекта кавычки обязательны, а для каких нет?
Исправьте ошибки, допущенные в следующем коде:
let obj = {
'1a': 1,
'b2': 2,
'с-с': 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);