JavaScript „użyj ścisłego”

W tym samouczku nauczysz się składni JavaScript „używaj ścisłej” za pomocą przykładów.

'use strict';stwierdza, że ​​kod JavaScript powinien być wykonywany w „ trybie ścisłym ”. Ułatwia to pisanie dobrego i bezpiecznego kodu JavaScript. Na przykład,

 myVariable = 9;

Tutaj myVariable jest tworzony bez deklarowania. Działa jak zmienna globalna w JavaScript. Jeśli jednak użyjesz tego w trybie ścisłym, program zgłosi błąd. Na przykład,

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

Powyższy kod zgłasza błąd, ponieważ myVariable nie jest zadeklarowana. W trybie ścisłym nie można używać zmiennej bez ich zadeklarowania.

Aby wskazać, że ten program jest w trybie ścisłym, użyliśmy

 'use strict';

u góry programu.

Możesz zadeklarować tryb ścisły, dodając 'use strict';lub "use strict";na początku programu.

Gdy zadeklarujesz tryb ścisły na początku programu, będzie on miał zasięg globalny, a cały kod w programie będzie wykonywany w trybie ścisłym.

Tryb ścisły w zmiennej

W trybie ścisłym użycie zmiennej bez jej deklarowania powoduje błąd.

Uwaga : musisz zadeklarować tryb ścisły na początku programu. Jeśli zadeklarujesz tryb ścisły poniżej jakiegoś kodu, to nie zadziała.

Na przykład,

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

Tryb ścisły w funkcji

Możesz także użyć trybu ścisłego wewnątrz funkcji. Na przykład,

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

Jeśli używasz 'use strict';wewnątrz funkcji, kod wewnątrz funkcji będzie w trybie ścisłym.

W powyższym programie 'use strict';jest używany wewnątrz hello()funkcji. Stąd tryb ścisły ma zastosowanie tylko wewnątrz funkcji.

Jak widać, na początku programu myVariablejest używany bez deklarowania.

Jeśli deklarujesz 'use strict';na początku programu, nie możesz użyć zmiennej bez zadeklarowania jej również w funkcji. Na przykład,

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

Uwaga : tryb ścisły nie dotyczy instrukcji blokowych z ()nawiasami klamrowymi.

Rzeczy niedozwolone w trybie ścisłym

1. Niezadeklarowana zmienna jest niedozwolona.

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

2. Niezadeklarowane obiekty są niedozwolone.

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

3. Usunięcie obiektu jest niedozwolone.

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

4. Powielanie nazwy parametru jest niedozwolone.

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

5. Przypisywanie do właściwości niezapisywalnej jest niedozwolone.

 '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. Przypisywanie do właściwości tylko pobierającej jest niedozwolone.

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

7. Nie jest dozwolone przypisywanie do nowej właściwości obiektu nierozszerzalnego.

 '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. Składnia ósemkowa jest niedozwolona.

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

9. Argumenty nazwy zmiennej i eval nie są dozwolone.

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

10. Nie można również używać tych zarezerwowanych słów kluczowych w trybie ścisłym.

implements interface let package private protected public static yield

Korzyści z trybu ścisłego

Korzystanie z trybu ścisłego:

  • pomaga napisać bardziej przejrzysty kod
  • zmienia wcześniej zaakceptowane ciche błędy (zła składnia) na rzeczywiste błędy i zgłasza komunikat o błędzie
  • ułatwia pisanie „bezpiecznego” JavaScript

Interesujące artykuły...