I denne veiledningen vil du lære om JavaScript 'bruk streng' syntaks ved hjelp av eksempler.
'use strict';
sier at JavaScript-koden skal kjøres i ' streng modus '. Dette gjør det lettere å skrive god og sikker JavaScript-kode. For eksempel,
myVariable = 9;
Her er myVariable opprettet uten å erklære. Dette fungerer som en global variabel i JavaScript. Imidlertid, hvis du bruker dette i streng modus, vil programmet kaste en feil. For eksempel,
'use strict'; // Error myVariable = 9;
Ovennevnte kode kaster en feil fordi myVariable ikke er erklært. I streng modus kan du ikke bruke variabelen uten å erklære dem.
For å indikere at dette programmet er i streng modus, har vi brukt
'use strict';
øverst i programmet.
Du kan erklære streng modus ved å legge til 'use strict';
eller "use strict";
i begynnelsen av et program.
Når du erklærer streng modus i begynnelsen av et program, vil den ha globalt omfang, og all koden i programmet vil kjøres i streng modus.
Streng modus i variabel
I streng modus kaster en feil ved å bruke en variabel uten å erklære den.
Merk : Du må erklære streng modus i begynnelsen av programmet. Hvis du erklærer streng modus under noen kode, vil det ikke fungere.
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 modus i funksjon
Du kan også bruke streng modus i en funksjon. 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 bruker 'use strict';
inne i en funksjon, vil koden i funksjonen være i streng modus.
I programmet ovenfor 'use strict';
brukes inne i hello()
funksjonen. Derfor gjelder den strenge modusen bare inne i funksjonen.
Som du kan se, i begynnelsen av programmet, myVariable
brukes uten å erklære.
Hvis du erklærer 'use strict';
øverst i programmet, kan du ikke bruke en variabel uten å erklære den også i funksjonen. For eksempel,
// applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();
Merk : Strengt modus gjelder ikke for å blokkere utsagn med ()
klammeparenteser.
Ting som ikke er tillatt i streng modus
1. Udeklarert variabel er ikke tillatt.
'use strict'; a = 'hello'; // throws an error
2. Ikke-angitte objekter er ikke tillatt.
'use strict'; person = (name: 'Carla', age: 25); // throws an error
3. Det er ikke tillatt å slette et objekt.
'use strict'; let person = (name: 'Carla'); delete person; // throws an error
4. Duplisering av et parameternavn er ikke tillatt.
"use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();
5. Det er ikke tillatt å tildele en ikke-skrivbar eiendom.
'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 er ikke tillatt å tildele en eiendom som bare er getter.
'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error
7. Det er ikke tillatt å tildele en ny eiendom på et ikke-utvidbart 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. Oktalsyntaks er ikke tillatt.
'use strict'; let a = 010; // throws an error
9. Argumentene for variabelnavnet og eval er ikke tillatt.
'use strict'; let arguments = 'hello'; // throws an error let eval = 44;
10. Du kan ikke bruke disse reserverte nøkkelordene i streng modus.
implements
interface
let
package
private
protected
public
static
yield
Fordeler med streng modus
Bruk av streng modus:
- hjelper til med å skrive en renere kode
- endrer tidligere aksepterte lydfeil (dårlig syntaks) til reelle feil og kaster en feilmelding
- gjør det lettere å skrive "sikker" JavaScript