JavaScript "use strict"

In diesem Tutorial lernen Sie anhand von Beispielen die JavaScript-Syntax "Verwenden Sie strenge Syntax" kennen.

'use strict';gibt an, dass der JavaScript-Code im " strengen Modus " ausgeführt werden soll. Dies erleichtert das Schreiben von gutem und sicherem JavaScript-Code. Beispielsweise,

 myVariable = 9;

Hier wird myVariable ohne Deklaration erstellt. Dies funktioniert als globale Variable in JavaScript. Wenn Sie dies jedoch im strengen Modus verwenden, gibt das Programm einen Fehler aus. Beispielsweise,

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

Der obige Code löst einen Fehler aus, da myVariable nicht deklariert ist. Im strengen Modus können Sie die Variable nicht verwenden, ohne sie zu deklarieren.

Um anzuzeigen, dass sich dieses Programm im strengen Modus befindet, haben wir verwendet

 'use strict';

an der Spitze des Programms.

Sie können den strengen Modus durch Hinzufügen 'use strict';oder "use strict";am Anfang eines Programms deklarieren .

Wenn Sie zu Beginn eines Programms den strengen Modus deklarieren, hat dieser einen globalen Gültigkeitsbereich und der gesamte Code im Programm wird im strengen Modus ausgeführt.

Strenger Modus in Variable

Im strengen Modus wird bei Verwendung einer Variablen ohne Deklaration ein Fehler ausgegeben.

Hinweis : Sie müssen zu Beginn des Programms den strengen Modus deklarieren . Wenn Sie unter einem Code den strengen Modus deklarieren, funktioniert dies nicht.

Beispielsweise,

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

Strenger Modus in der Funktion

Sie können auch den strengen Modus innerhalb einer Funktion verwenden. Beispielsweise,

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

Wenn Sie 'use strict';innerhalb einer Funktion verwenden, befindet sich der Code innerhalb der Funktion im strengen Modus.

Im obigen Programm 'use strict';wird innerhalb der hello()Funktion verwendet. Daher ist der strikte Modus nur innerhalb der Funktion anwendbar.

Wie Sie sehen können, wird am Anfang des Programms myVariableohne Deklaration verwendet.

Wenn Sie 'use strict';oben im Programm deklarieren , können Sie eine Variable nicht verwenden, ohne sie auch innerhalb der Funktion zu deklarieren. Beispielsweise,

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

Hinweis : Der strikte Modus gilt nicht für Blockanweisungen mit ()geschweiften Klammern.

Dinge, die im strengen Modus nicht erlaubt sind

1. Nicht deklarierte Variable ist nicht zulässig.

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

2. Nicht deklarierte Objekte sind nicht zulässig.

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

3. Das Löschen eines Objekts ist nicht zulässig.

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

4. Das Duplizieren eines Parameternamens ist nicht zulässig.

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

5. Das Zuweisen zu einer nicht beschreibbaren Eigenschaft ist nicht zulässig.

 '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. Das Zuweisen zu einer Nur-Getter-Eigenschaft ist nicht zulässig.

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

7. Das Zuweisen einer neuen Eigenschaft zu einem nicht erweiterbaren Objekt ist nicht zulässig.

 '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. Die Oktalsyntax ist nicht zulässig.

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

9. Die Argumente für den Variablennamen und eval sind nicht zulässig.

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

10. Sie können diese reservierten Schlüsselwörter auch nicht im strengen Modus verwenden.

implements interface let package private protected public static yield

Vorteile des Strict Mode

Die Verwendung des strengen Modus:

  • hilft beim Schreiben eines saubereren Codes
  • Ändert zuvor akzeptierte stille Fehler (schlechte Syntax) in echte Fehler und gibt eine Fehlermeldung aus
  • erleichtert das Schreiben von "sicherem" JavaScript

Interessante Beiträge...