Page 157 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 157

глобальной переменной не существовало, то она тут же создавалась! Можете пред­
       ставить себе проблемы, к которым это приводило.
          По этой причине (и ряду других) в JavaScript была введена концепция строгого
       режима (strict mode), предотвращающего неявные глобальные переменные. Строгий
       режим включается с помощью строкового литерала "use  strict" (здесь вы можете
       использовать одиночные или двойные кавычки), расположенного в отдельной стро­
       ке, перед любым другим кодом. Если сделать это в глобальной области видимости,
       весь сценарий будет выполняться в строгом режиме, а если сделать это в функции,
       то в строгом режиме будет выполняться только функция.
          Поскольку строгий режим относится ко всему сценарию,  если  перейти  к нему
       в глобальной области видимости, то могут возникнуть проблемы. На многих совре­
       менных веб-сайтах используются вместе различные сценарии, написанные разными
       людьми. Поэтому переход в строгий режим в глобальной области видимости в од­
       ном из таких сценариев переводит в строгий режим их все. Хотя было бы, конечно,
       хорошо, чтобы все сценарии работали правильно в строгом режиме, но это далеко
       не так. Значит, обычно нецелесообразно использовать строгий режим в глобальной
       области видимости. Если вы не хотите включать  строгий  режим в  каждой функ­
       ции по отдельности (и кто бы это захотел делать?), можете заключить весь свой код
       в одну немедленно выполняемую функцию (больше об этом мы узнаем в главе  1 3 ).
        ( function  )    {
                (
        ' u se  strict ' ;
           // весь  ваш  код  будет  здесь  . .   ,  он
                                     .
           / /  выполняется  в  строгом режиме,  но
           / /  строгий  режим  не  будет  затрагивать
           // никаких  других  сценариев ,   запущенных
           1 1   вместе  с  этим
       } )   ( ) ;
          Строгий режим считается хорошей вещью, и я рекомендую его использовать. Если
       вы будете использовать анализатор (что обязательно нужно делать!), то это предот­
       вратит большинство распространенных проблем, но страховка никогда не помешает!
          Чтобы узнать больше о строгом режиме, читайте соответствующую статью в биб­
       лиотеке MDN.

       За к  люч е н и е


          Знать области видимости важно для изучения любого языка программирования.
       Введение ключевого слова  let  приводит JavaScript в соответствие с большинством
       других современных языков. Хотя JavaScript - не первый язык, который поддер­
       живает замкнутые выражения, это один из первых популярных (не академических)
       языков, сделавших это. В сообществе JavaScript замкнутые выражения используются
       для пущего эффекта, но это важная часть современной разработки JavaScript.


       1 5 8    Глава 7. Область видимости
   152   153   154   155   156   157   158   159   160   161   162