JavaScript "usa rigoroso"

In questo tutorial imparerai a conoscere la sintassi "use strict" di JavaScript con l'aiuto di esempi.

'use strict';afferma che il codice JavaScript deve essere eseguito in " modalità rigorosa ". Ciò semplifica la scrittura di codice JavaScript valido e sicuro. Per esempio,

 myVariable = 9;

Qui, myVariable viene creata senza dichiarare. Funziona come una variabile globale in JavaScript. Tuttavia, se lo usi in modalità rigorosa, il programma genererà un errore. Per esempio,

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

Il codice precedente genera un errore perché myVariable non è dichiarato. In modalità rigorosa, non è possibile utilizzare la variabile senza dichiararla.

Per indicare che questo programma è in modalità rigorosa, abbiamo utilizzato

 'use strict';

all'inizio del programma.

È possibile dichiarare la modalità rigorosa aggiungendo 'use strict';o "use strict";all'inizio di un programma.

Quando si dichiara la modalità rigorosa all'inizio di un programma, questo avrà un ambito globale e tutto il codice nel programma verrà eseguito in modalità rigorosa.

Modalità rigorosa in variabile

In modalità rigorosa, l'utilizzo di una variabile senza dichiararla genera un errore.

Nota : è necessario dichiarare la modalità rigorosa all'inizio del programma. Se dichiari la modalità rigorosa sotto un codice, non funzionerà.

Per esempio,

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

Modalità rigorosa in funzione

È inoltre possibile utilizzare la modalità rigorosa all'interno di una funzione. Per esempio,

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

Se usi 'use strict';all'interno di una funzione, il codice all'interno della funzione sarà in modalità rigorosa.

Nel programma sopra, 'use strict';viene utilizzato all'interno della hello()funzione. Quindi, la modalità rigorosa è applicabile solo all'interno della funzione.

Come puoi vedere, all'inizio del programma, myVariableviene utilizzato senza dichiarare.

Se dichiari 'use strict';all'inizio del programma, non puoi usare una variabile senza dichiararla anche all'interno della funzione. Per esempio,

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

Nota : la modalità rigorosa non si applica alle istruzioni di blocco con ()parentesi graffe.

Cose non consentite in modalità rigorosa

1. La variabile non dichiarata non è consentita.

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

2. Gli oggetti non dichiarati non sono consentiti.

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

3. L'eliminazione di un oggetto non è consentita.

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

4. La duplicazione del nome di un parametro non è consentita.

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

5. L'assegnazione a una proprietà non scrivibile non è consentita.

 '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. L'assegnazione a una proprietà solo getter non è consentita.

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

7. L'assegnazione a una nuova proprietà su un oggetto non estensibile non è consentita.

 '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. La sintassi ottale non è consentita.

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

9. Gli argomenti del nome della variabile e eval non sono consentiti.

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

10. Non è inoltre possibile utilizzare queste parole chiave riservate in modalità rigorosa.

implements interface let package private protected public static yield

Vantaggi della modalità rigorosa

L'uso della modalità rigorosa:

  • aiuta a scrivere un codice più pulito
  • modifica gli errori silenziosi precedentemente accettati (sintassi errata) in errori reali e genera un messaggio di errore
  • rende più facile scrivere JavaScript "sicuro"

Articoli interessanti...