Проверить specs
PropertyDefinition: ИмяСвойства: ВыражениеПрисваивании
- Возврат Имя_свойство из PropertyName.
Эта часть спецификации предлагает формальный синтаксис имени свойства с его значением.
Кроме того, перед тем, что this part of the spec предположить, что ИмениСвойства может быть literalPropertyName
, которые не должны быть описаны в виде строки.
ИмяСвойства [Выход]:
LiteralPropertyName
ComputedPropertyName [?Выход]
LiteralPropertyName:
ИмяИдентификатора
СтроковойЛитерал
ЧисловойЛитерал
Именно поэтому вы получите тот же результат для обоих name
d "name"
.
Однако, если имя свойства first name
, то вам нужно использовать строку, иначе вы получите ошибку компиляции, поскольку после имени свойства ожидается двоеточие :
.
//correct syntax
var ourDog = {
"first name": "Camper"
};
//incorrect syntax
var ourDog = {
first name: "Camper" //since after first there is no colon so there will be compilation error
};
вы можете использовать кронштейн обозначения, если объект 'keys' являются динамическими – Arif
Если имя свойства имеет место, то' уаг ourDog = { «имя»: «Camper» }; ', то она не будет работа без кавычек – gurvinder372
Я понимаю, что это использование, мое сомнение в том, как он дает одинаковый результат для обоих объектов; Я имею в виду цитаты и без кавычек. – blueMoon