Поиск по сайту
Ctrl + K
Вопросы по JS

Что такое 'use strict'; в JavaScript и для чего он нужен?

'use strict'; — это директива в JavaScript, которая вводит строгий режим. Она была представлена в ECMAScript 5 (ES5) и используется для улучшения качества кода, предотвращения распространенных ошибок и обеспечения большей безопасности.

Зачем нужен строгий режим?

  • Исключение потенциальных ошибок: В строгом режиме некоторые забывчивости кардинально меняют поведение кода. Например, вы не сможете объявлять переменные без использования ключевых слов var, let или const. Это помогает избежать случайного создания глобальных переменных.
    'use strict';
    x = 10; // Ошибка: x не объявлена
    
  • Запрет на некоторые выражения: Некоторые действия, которые считаются опасными или нежелательными, запрещены. Например, вы не можете удалять переменные или функции.
    'use strict';
    delete Object.prototype; // Ошибка: нельзя удалять свойства
    
  • Улучшение производительности: Некоторые движки JavaScript могут оптимизировать код, написанный в строгом режиме, так как они могут сделать более строгие предположения.
  • Безопасность: Строгий режим помогает предотвратить уязвимости, такие как использование with, что может привести к неоднозначностям в коде.
    'use strict';
    with (Math) { // Ошибка: 'with' запрещен в строгом режиме
        x = cos(x);
    }
    
  • Как использовать строгий режим?

    Вы можете активировать строгий режим в пределах файла или функции, добавив 'use strict'; в верхней части вашего JavaScript-кода. Вот несколько примеров:

    Пример 1: Строгий режим для файла

    'use strict';
    
    function myFunction() {
        // Весь код в этой функции будет в строгом режиме
        let a = 1; // правильно
        b = 2; // ошибка, b не объявлена
    }
    
    myFunction();
    

    Пример 2: Строгий режим для функции

    function strictFunction() {
        'use strict';
        var c = 3; // правильно
        d = 4; // ошибка, d не объявлена
    }
    
    strictFunction();
    

    Итоги

    Использование 'use strict'; является хорошей практикой при написании JavaScript-кода. Он помогает вам писать более чистый, безопасный и производительный код и упрощает отладку, так как вы сразу увидите, если что-то не так.

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