# Ограничения на ключи объектов в 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);`
← →
↑
en ru