Должны ли мы обратить внимание на JavaScript "строгий режим"? - PullRequest
2 голосов
/ 11 декабря 2011

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

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

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

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

Вопросы:

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

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

Ответы [ 2 ]

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

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

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

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

2 голосов
/ 11 декабря 2011

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

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

...