// defining properties{ age :26,// normal string property name1 : '1 is OK',// normal string property nameconst: 'reserved word is OK', // reserved word as property name"full name"
// a symbollet symbol =Symbol('hi');// an objectlet obj = {// string as property name name :'normal property names are converted to strings ("name")', const :
:
"John Doe"
,
// string as property name
}
// accessing properties
obj . prop // by identifier
obj [ prop ] // by String / Symbol.
'โญ reserved word as property name is OK'
,
1:'โญ 1 is legal property name, coerced to "1".',
'full name':'string as property name',
symbol :'this `symbol` is a normal string property name ("symbol")',
// symbol as property name
[symbol] :'symbol as property name',// computed property name
};
obj['full name'],// 'string as property name'
obj[symbol],// 'symbol as property name'
obj.symbol,// 'this `symbol` is a normal string property name ("symbol")'
obj.const,// 'โญ reserved word as property name is OK'
obj[1],// โ "bracket notation" is always safe.
// obj.1, // โ "dot notation" requires an identifier