#javascript
Вопрос:
Мне интересно, почему приведенный ниже код неверен. Это выдает следующую ошибку: SyntaxError: missing ] in computed property name
. Если я удалю внешние фигурные скобки, это сработает. Но мне интересно, почему это не сработало бы с фигурными скобками.
const example2 = {[
{
'title': 'Hello World',
'Author': 'John Doe',
},
{
'title': 'Hello World2',
'Author': 'John Doe',
},
]};
console.log(example2);
Комментарии:
1. Потому что фигурные скобки означают, что это объект. Зачем вам это нужно? Вам нужен массив объектов: так что начните с
[
этого .2. @Терри, потому что именно так я использую его в свойстве объекта react.
Ответ №1:
Объекты имеют пары ключ/значение. Ваш объект example2 имел массив (значение) без ключа.
const example2 = {"array" : [
{
'title': 'Hello World',
'Author': 'John Doe'
},
{
'title': 'Hello World2',
'Author': 'John Doe'
}
]};
console.log(example2);
Ответ №2:
Вы помещаете массив внутри объекта, не определяя ключ (или свойство).
Объект-это пара ключ/значение, вы не можете указать значение без ключа.
var myObj = {
myArr: [{
'title': 'Hello World',
'Author': 'John Doe',
},
{
'title': 'Hello World2',
'Author': 'John Doe',
},
]
};
Ответ №3:
Вы получаете эту ошибку:
Синтаксическая ошибка: отсутствует ] в вычисляемом имени свойства
Потому что произошла ошибка с синтаксисом инициализатора объекта.
Объект можно создать с помощью “key: value”
пары.
И в вашем случае вы инициализировали example2
объект без ключа.
const example2 = {
"key": [{
'title': 'Hello World',
'Author': 'John Doe',
},
{
'title': 'Hello World2',
'Author': 'John Doe',
},
]
};
console.log(example2);