Restrições para chaves de objetos em JavaScript

Só podemos escrever sem aspas as chaves de objetos que atendam às seguintes restrições: elas não podem começar com um dígito e não podem conter hífen, espaço e coisas semelhantes.

Se uma string violar a restrição, ela precisa ser colocada entre aspas. No exemplo a seguir, algumas das chaves não atendem às condições e, portanto, estão entre aspas:

javascriptlet obj = {'1key': 'a', 'key-2': 'b', key3: 'c'};

Só é possível acessar essas chaves usando colchetes:

javascriptconsole.log(obj['1key']);
console.log(obj['key-2']);

Também, tentar acessar tais nomes através da notação de ponto do objeto resultará em erro:

javascriptconsole.log(obj.1key);
console.log(obj.key-2);

Já a terceira chave - é válida, e podemos acessá-la de ambas as formas:

javascriptconsole.log(obj['key3']);
console.log(obj.key3);
Задание 1

Dado o objeto:

javascriptlet obj = {
  '1a': 1,
  'b2': 2,
  'c-c': 3,
  'd 4': 4,
  'e5': 5
};

Para quais chaves deste objeto as aspas são obrigatórias e para quais não são?

Задание 2

Corrija os erros cometidos no seguinte código:

javascriptlet 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);