Строгий режим (use strict)

Директива 'use strict'; включает режим соответствия стандарту ES5.

  • Заменяет исключениями некоторые ошибки, которые интерпретатор JavaScript ранее пропускал;
  • В некоторых случаях код в строгом режиме может быть оптимизирован для более быстрого выполнения;
  • Запрещает использовать некоторые элементы синтаксиса.

Строгий режим можно применить как ко всем скрипту (директива в начале файла), так и к отдельным функциям (дириктива в начале функции). Однако, в последнем варианте появились исключения (см. es2016).

Что является ошибкой в строгом режиме

Внимание: список не полный!

  • mistypedVaraible = 17 — не явное определение переменной;
  • Любоая попытка присвоения значения свойству, защищённому от записи; присваивание значения свойству, доступному только на чтение; присваивание нового свойства нерасширяемому объекту. Например, NaN = null;
  • Попытка удаления неудаляемого, например delete Object.prototype;
  • Несколько свойств с одинаковыми именами, например {a:1,a:2};
  • Несколько аргументов с одинаковыми именами, например function (a,a,b) {};
  • Восьмеричные числа, например 0644;
  • Использование with;
  • Удаление переменных, например var x; delete x;;
  • arguments.callee;

Ссылки

results matching ""

    No results matching ""