Найти в Дзене
Журнал «Код»

Что означает ошибка SyntaxError: missing : after property id

Оглавление

Используйте двоеточие, если хотите обратиться к свойству объекта.

Ситуация: вы пишете сервис, который хранит данные на сервере, и используете для этого JSON. Одна из переменных отвечает за пользователя, который обращается к серверу. Так как JSON работает с объектами, которые состоят из пары «НазваниеПоля: Значение», вы сразу создаёте такой объект, где сразу прописываете нужно пользователя:

var obj = { user = 'Mike' };

Но при запуске скрипта он падает с ошибкой:

❌ SyntaxError: missing : after property id

Что это значит: JavaScript думает, что вы объявляете значение какого-то поля в объекте, поэтому ожидает двоеточия после названия поля. В нашем случае оно должно быть вместо второго знака равенства: var obj = { user: 'Mike' };

Когда встречается: чаще всего такая ошибка появляется при неправильном объявлении объекта. Например, мы решили не вручную указать название поля, а собрать его из каких-то других частей:

var obj = { 'user'+userID: 'Mike' };

Программист думает, что JavaScript сложит строку и переменную userID, а результат использует как название поля. Но это так не работает.

Как исправить ошибку SyntaxError: missing : after property id

Эта ошибка появляется при неправильном объявлении объекта с какими-то свойствами, поэтому вам нужно:

  1. Перепроверить синтаксис объявления объекта. Если вы не хотели объявлять объект, разобраться, почему JavaScript думает иначе.
  2. Проверить, всё ли в порядке с двоеточием, может, вы и правда его пропустили.
  3. Посмотреть, у каждого ли ключа или поля есть нужное значение.
  4. Убрать все математические, логические и любые другие операции из описания объявления переменной.

Попробуйте сами

Этот код даёт ту же самую ошибку. Найдите, что в нём не так, и попробуйте это исправить: