JavaScript "använder strikt"

I denna handledning lär du dig om JavaScript 'använd strikt' syntax med hjälp av exempel.

'use strict';anger att JavaScript-koden ska köras i " strikt läge ". Detta gör det lättare att skriva bra och säker JavaScript-kod. Till exempel,

 myVariable = 9;

Här skapas myVariable utan att deklarera. Detta fungerar som en global variabel i JavaScript. Men om du använder detta i strikt läge kommer programmet att kasta ett fel. Till exempel,

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

Ovanstående kod ger ett fel eftersom myVariable inte deklareras. I strikt läge kan du inte använda variabeln utan att deklarera dem.

För att indikera att detta program är i strikt läge har vi använt

 'use strict';

högst upp i programmet.

Du kan deklarera det strikta läget genom att lägga till 'use strict';eller "use strict";i början av ett program.

När du deklarerar strikt läge i början av ett program kommer det att ha globalt omfång och all kod i programmet körs i strikt läge.

Strikt läge i variabel

I strikt läge ger det ett fel att använda en variabel utan att deklarera.

Obs! Du måste deklarera strikt läge i början av programmet. Om du förklarar strikt läge under någon kod fungerar det inte.

Till exempel,

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

Strikt läge i funktion

Du kan också använda strikt läge i en funktion. Till exempel,

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

Om du använder 'use strict';inuti en funktion kommer koden inuti funktionen att vara i strikt läge.

I ovanstående program 'use strict';används inuti hello()funktionen. Därför är det strikta läget endast tillämpligt i funktionen.

Som du kan se används i början av programmet myVariableutan att deklarera.

Om du deklarerar 'use strict';högst upp i programmet kan du inte använda en variabel utan att deklarera den också i funktionen. Till exempel,

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

Obs! Strikt läge gäller inte blockeringsuttalanden med ()hängslen.

Saker som inte är tillåtna i strikt läge

1. Odeklarerad variabel är inte tillåten.

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

2. Odeklarerade föremål är inte tillåtna.

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

3. Det är inte tillåtet att radera ett objekt.

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

4. Duplicering av ett parameternamn är inte tillåtet.

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

5. Att tilldela en icke-skrivbar egendom är inte tillåten.

 '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. Det är inte tillåtet att tilldela en egendom endast för getter.

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

7. Det är inte tillåtet att tilldela en ny fastighet på ett icke-utdragbart objekt.

 '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. Oktalsyntax är inte tillåtet.

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

9. Argumenten för variabelnamnet och eval är inte tillåtna.

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

10. Du kan inte använda dessa reserverade nyckelord i strikt läge.

implements interface let package private protected public static yield

Fördelar med strikt läge

Användningen av strikt läge:

  • hjälper till att skriva en renare kod
  • ändrar tidigare accepterade tysta fel (dålig syntax) till verkliga fel och kastar ett felmeddelande
  • gör det lättare att skriva "säker" JavaScript

Intressanta artiklar...