SyntaxError: missing : after property id
Исключение JavaScript "missing : after property id" возникает, когда объекты создаются с использованием синтаксиса инициализатора объекта. Двоеточие (:) разделяет ключи и значения для свойств объекта. Каким-то образом это двоеточие отсутствует или расположено неверно.
Сообщение
SyntaxError: Invalid shorthand property initializer (V8-based) SyntaxError: missing : after property id (Firefox) SyntaxError: Unexpected token '='. Expected a ':' following the property name 'x'. (Safari) SyntaxError: Unexpected token '+'. Expected an identifier as property name. (Safari)
Тип ошибки
Что пошло не так?
При создании объектов с использованием синтаксиса инициализатора объекта двоеточие (:) разделяет ключи и значения для свойств объекта.
const obj = { propertyKey: "value" };
Примеры
Двоеточия против знаков равенства
Этот код завершится ошибкой, так как знак равенства не может использоваться таким образом в синтаксисе инициализатора объекта.
const obj = { propertyKey = "value" };
// SyntaxError: missing : after property id
Правильно было бы использовать двоеточие, или использовать квадратные скобки для присвоения нового свойства после того, как объект уже создан.
const obj = { propertyKey: "value" };
Или как альтернатива:
const obj = {};
obj.propertyKey = "value";
Вычисляемые свойства
Если вы создаете ключ свойства из выражения, вам нужно использовать квадратные скобки. В противном случае имя свойства не может быть вычислено:
const obj = { "b"+"ar": "foo" };
// SyntaxError: missing : after property id
Поместите выражение в квадратные скобки []:
const obj = { ["b" + "ar"]: "foo" };
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Missing_colon_after_property_id