JavaScript 객체 키의 제약 조건

객체의 모든 키를 따옴표 없이 쓸 수 있는 것은 아닙니다. 다음 제약 조건을 만족하는 키만 가능합니다: 숫자로 시작할 수 없으며, 하이픈, 공백 등과 같은 문자를 내부에 포함할 수 없습니다.

문자열이 제약 조건을 위반하는 경우, 따옴표로 묶어야 합니다. 다음 예제에서는 일부 키가 조건을 만족하지 않으므로 따옴표 안에 있습니다:

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

이러한 키는 대괄호를 통해서만 접근할 수 있습니다:

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

또한 객체의 속성으로 이러한 이름에 접근하려고 하면 오류가 발생합니다:

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

그러나 세 번째 키는 허용되며, 두 가지 방법 모두로 접근할 수 있습니다:

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

다음 객체가 주어졌습니다:

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

이 객체의 키 중 어떤 키는 따옴표가 필수이고, 어떤 키는 그렇지 않습니까?

Задание 2

다음 코드에서 발생한 오류를 수정하세요:

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