SyntaxError: инструкции "с" недействительны в строгом режиме - программирование

SyntaxError: инструкции "с" недействительны в строгом режиме

Я получаю эту ошибку в консоли safari, когда пытаюсь сделать что-либо из точки останова. Сообщение об ошибке здесь: https://bugs.webkit.org/show_bug.cgi?id=83267

Есть ли у кого-нибудь обход? По причинам, которые я предполагаю, связаны с этим javascript, который перестает работать на моем сайте в сафари.

edit: отчет об ошибке также содержит шаги воспроизведения.

другое редактирование: я не использую оператор "с". Это ошибка с консоли сафари.

4b9b3361

Ответ 1

Оператор with(obj) {} устарел и, как таковой, недействителен в строгом режиме.

Чтобы решить эту проблему, отключите строгий режим или прекратите использование с помощью операторов!

Ответ 2

Строгий режим в запретах ECMAScript 5, например. with. У вас есть два варианта:

  • отключить строгий режим (удалить строку "strict mode"; из файла/функции) или
  • (предпочтительнее) избегать использования операторов with - они вредны и полностью нечитаемы.

Подробнее о строгом режиме от Джона Ресига: ECMAScript 5 Strict Mode, JSON и другие.

Вы можете прочитать в статье, что строгий режим:

  • делает невозможным переменную delete (например, в delete foo;),
  • ограничивает использование eval,
  • добавляет некоторые ограничения на функции (например, доступ к caller и callee),
  • удаляет операторы with,