JavaScript "использовать строго"

В этом руководстве вы узнаете о синтаксисе «использовать строгий» JavaScript с помощью примеров.

'use strict';заявляет, что код JavaScript должен выполняться в « строгом режиме ». Это упрощает написание хорошего и безопасного кода JavaScript. Например,

 myVariable = 9;

Здесь myVariable создается без объявления. Это работает как глобальная переменная в JavaScript. Однако, если вы используете это в строгом режиме, программа выдаст ошибку. Например,

 'use strict'; // Error myVariable = 9;

Приведенный выше код выдает ошибку, потому что myVariable не объявлен. В строгом режиме вы не можете использовать переменные без их объявления.

Чтобы указать, что эта программа находится в строгом режиме, мы использовали

 'use strict';

вверху программы.

Вы можете объявить строгий режим, добавив 'use strict';или "use strict";в начале программы.

Когда вы объявляете строгий режим в начале программы, он будет иметь глобальную область видимости, и весь код в программе будет выполняться в строгом режиме.

Строгий режим в переменной

В строгом режиме использование переменной без ее объявления вызывает ошибку.

Примечание : вам нужно объявить строгий режим в начале программы. Если вы объявите строгий режим под некоторым кодом, это не сработает.

Например,

 console.log("some code"); // 'use strict' is ignored // must be at the top "use strict"; x = 21; // does not throw an error

Строгий режим в функции

Вы также можете использовать строгий режим внутри функции. Например,

 myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();

Если вы используете 'use strict';внутри функции, код внутри функции будет в строгом режиме.

В приведенной выше программе 'use strict';используется внутри hello()функции. Следовательно, строгий режим применим только внутри функции.

Как видите, в начале программы myVariableиспользуется без объявления.

Если вы объявляете 'use strict';в верхней части программы, вы не можете использовать переменную, не объявив ее также внутри функции. Например,

 // applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();

Примечание . Строгий режим не применяется к операторам блока с ()фигурными скобками.

Вещи, запрещенные в строгом режиме

1. Необъявленная переменная не допускается.

 'use strict'; a = 'hello'; // throws an error

2. Необъявленные объекты не допускаются.

 'use strict'; person = (name: 'Carla', age: 25); // throws an error

3. Удаление объекта запрещено.

 'use strict'; let person = (name: 'Carla'); delete person; // throws an error

4. Дублирование имени параметра не допускается.

 "use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();

5. Назначение собственности, не допускающей запись, не допускается.

 'use strict'; let obj1 = (); Object.defineProperty(obj1, 'x', ( value: 42, writable: false )); // assignment to a non-writable property obj1.x = 9; // throws an error

6. Назначение свойства только для получения не разрешено.

 'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error

7. Назначение нового свойства для нерасширяемого объекта не допускается.

 'use strict'; let obj = (); Object.preventExtensions(obj); // Assignment to a new property on a non-extensible object obj.newValue = 'new value'; // throws an error

8. Восьмеричный синтаксис не допускается.

 'use strict'; let a = 010; // throws an error

9. Аргументы имени переменной и eval не допускаются.

 'use strict'; let arguments = 'hello'; // throws an error let eval = 44;

10. Вы также не можете использовать эти зарезервированные ключевые слова в строгом режиме.

implements interface let package private protected public static yield

Преимущества строгого режима

Использование строгого режима:

  • помогает писать более чистый код
  • заменяет ранее принятые тихие ошибки (неправильный синтаксис) на реальные и выдает сообщение об ошибке
  • упрощает написание «безопасного» JavaScript

Интересные статьи...