Выбор ответа Junior Ошибки обновлено

JSON с одинарными кавычками

Вопрос

Что произойдёт?

const data = JSON.parse("{'a': 1}");

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

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: SyntaxError. JSON строже, чем литералы JavaScript: строки и ключи только в двойных кавычках, нет хвостовых запятых, комментариев, undefined и функций.

Варианты ответа

  1. data будет { a: 1 }
  2. data будет строкой "{'a': 1}"
  3. TypeError
  4. SyntaxErrorправильный ответ

Разбор

JSON строже, чем литералы JavaScript: строки и ключи только в двойных кавычках, нет хвостовых запятых, комментариев, undefined и функций. Строка с одинарными кавычками невалидна, и JSON.parse бросает SyntaxError. Это единственное место, где SyntaxError возникает во время выполнения и его можно поймать try/catch.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме