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,
'c-c': 3,
'd 4': 4,
'e5': 5
};
이 객체의 키 중 어떤 키는 따옴표가 필수이고, 어떤 키는 그렇지 않습니까?
다음 코드에서 발생한 오류를 수정하세요:
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);