Begränsningar för objektnycklar i JavaScript

Vi kan skriva utan citationstecken inte alla nycklar i objekt, utan bara de som uppfyller följande begränsningar: de får inte börja med en siffra och får inte innehålla bindestreck, mellanslag och liknande saker.

Om strängen bryter mot begränsningen, måste den omges av citationstecken. I följande exempel uppfyller en del av nycklarna inte villkoren och står därför i citationstecken:

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

Till sådana nycklar kan man endast komma åt via hakparenteser:

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

Även åtkomst till sådana namn via objektegenskap kommer att leda till ett fel:

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

Men den tredje nyckeln är giltig, och till den kan vi komma åt på båda sätten:

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

Givet ett objekt:

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

För vilka nycklar i detta objekt är citationstecken obligatoriska, och för vilka är de inte det?

Задание 2

Rätta felen som har gjorts i följande kod:

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