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

Что означает ошибка 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. Убрать все математические, логические и любые другие операции из описания объявления переменной.

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

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

$("#autocomplete").autocomplete({
  var arr = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]
  source: arr,
  close: function () {
    var val = $('input#autocomplete').val()
    if ($.inArray(val, arr) > -1) {
      $('body').append(val);
    }
  }
});

Обложка:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
easy