I denne vejledning lærer du om JavaScript 'brug streng' syntaks ved hjælp af eksempler.
'use strict';
angiver, at JavaScript-koden skal udføres i ' streng tilstand '. Dette gør det lettere at skrive god og sikker JavaScript-kode. For eksempel,
myVariable = 9;
Her oprettes myVariable uden at erklære. Dette fungerer som en global variabel i JavaScript. Men hvis du bruger dette i streng tilstand, kaster programmet en fejl. For eksempel,
'use strict'; // Error myVariable = 9;
Ovenstående kode kaster en fejl, fordi myVariable ikke erklæres. I streng tilstand kan du ikke bruge variablen uden at erklære dem.
For at indikere, at dette program er i streng tilstand, har vi brugt
'use strict';
øverst i programmet.
Du kan erklære den strenge tilstand ved at tilføje 'use strict';
eller "use strict";
i starten af et program.
Når du erklærer streng tilstand i starten af et program, vil det have globalt omfang, og al kode i programmet udføres i streng tilstand.
Streng tilstand i variabel
I streng tilstand, bruger en variabel uden at erklære den kaster en fejl.
Bemærk : Du skal erklære streng tilstand i starten af programmet. Hvis du erklærer streng tilstand under en eller anden kode, fungerer den ikke.
For eksempel,
console.log("some code"); // 'use strict' is ignored // must be at the top "use strict"; x = 21; // does not throw an error
Streng tilstand i funktion
Du kan også bruge streng tilstand inde i en funktion. For eksempel,
myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();
Hvis du bruger 'use strict';
inde i en funktion, vil koden inde i funktionen være i streng tilstand.
I ovenstående program 'use strict';
bruges i hello()
funktionen. Derfor er den strenge tilstand kun anvendelig inden for funktionen.
Som du kan se, bruges programmet i begyndelsen myVariable
uden at erklære.
Hvis du erklærer 'use strict';
øverst i programmet, kan du ikke bruge en variabel uden at også erklære den inde i funktionen. For eksempel,
// applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();
Bemærk : Streng tilstand gælder ikke for at blokere udsagn med ()
seler.
Ting, der ikke er tilladt i streng tilstand
1. Udeklareret variabel er ikke tilladt.
'use strict'; a = 'hello'; // throws an error
2. Sort angivne genstande er ikke tilladt.
'use strict'; person = (name: 'Carla', age: 25); // throws an error
3. Sletning af et objekt er ikke tilladt.
'use strict'; let person = (name: 'Carla'); delete person; // throws an error
4. Kopiering af et parameternavn er ikke tilladt.
"use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();
5. Tildeling til en ikke-skrivbar ejendom er ikke tilladt.
'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. Tildeling til en ejendom, der kun er getter, er ikke tilladt.
'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error
7. Tildeling til en ny ejendom på et ikke-udvideligt objekt er ikke tilladt.
'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. Oktalsyntaks er ikke tilladt.
'use strict'; let a = 010; // throws an error
9. Argumenterne for variabelnavnet og eval er ikke tilladt.
'use strict'; let arguments = 'hello'; // throws an error let eval = 44;
10. Du kan ikke også bruge disse reserverede nøgleord i streng tilstand.
implements
interface
let
package
private
protected
public
static
yield
Fordele ved streng tilstand
Brug af streng tilstand:
- hjælper med at skrive en renere kode
- ændrer tidligere accepterede tavse fejl (dårlig syntaks) til reelle fejl og kaster en fejlmeddelelse
- gør det lettere at skrive "sikker" JavaScript