Должны ли мы обратить внимание на JavaScript "строгий режим"?

Читая о строгом режиме ECMAScript 5, я узнаю, что:

Некоторые языковые функции настолько распространены, что выполнение проверок во время выполнения приводит к значительным потерям производительности. Несколько настроек строгого режима, плюс требование, чтобы пользовательский JavaScript был кодом строгого режима и чтобы он вызывался определенным образом, существенно уменьшают потребность в этих проверках во время выполнения.

Некоторые из этих настроек могут быть:

  • Никогда не используйте null/undefined в качестве первого аргумента в call/apply метод.
  • Не создавайте новые глобальные переменные внутри функции.

Вопросы:

  1. Существуют ли какие-либо фреймворки JavaScript, написанные в строгом режиме? Таким образом, мы можем верить, что наш "строгий" код не будет потрачен впустую?

  2. Должен ли я начать обращать внимание на strict mode не важно что? Я имею в виду, это слепо принято как хорошая практика?

2 ответа

Решение
  1. Да, большинство фреймворков уже начали использовать строгий режим. Возможно, еще не завершено, но на близком расстоянии. Джон Резиг:

    При всем этом я уверен, что jQuery прямо сейчас совместим с ES5-Strict. Как только реализация языка станет доступной (чтобы можно было проверить эту предпосылку), я с радостью переключу jQuery на работу исключительно в строгом режиме.

  2. Рекомендуется использовать, но не обязательно. Если вы начнете использовать строгий режим сейчас, вы привыкнете к нему и, следовательно, будете готовы к новому стандарту.

Более строгий режим:

AFAIK jQuery написан в строгом режиме (РЕДАКТИРОВАТЬ: не очень de iure, но автор говорит, что он совместим). Jslint Крокфорда в самом начале использует "строгий" (я видел исходный код несколько дней назад). Я бы сказал, что почти каждый современный фреймворк может позволить себе строгий режим, так как это бонусная точка для самого фреймворка.

Даже если бы это было не так, ваша работа не теряется, поскольку, придерживаясь строгого режима, вы улучшаете свой код (это заставляет вас избегать некоторых грехов).

Другие вопросы по тегам