`strict mode` i JavaScript
Denne artikkelen forklarer strict mode
i JavaScript.
YouTube Video
strict mode
i JavaScript
I JavaScript er strict mode
en funksjon introdusert i ECMAScript 5 (ES5) for å gjøre koden tryggere og forhindre feil. Ved å bruke strict mode blir visse fleksible syntakser og potensielt risikable funksjoner deaktivert, og strengere feilkontroller gjennomføres. Dette gjør det mulig for utviklere å unngå uventet oppførsel og skrive mer robust og høyytelseskode.
Aktivere strict mode
For å aktivere strict mode
, legg til følgende direktiv i begynnelsen av koden din.
1"use strict";
Denne deklarasjonen kan brukes på hele skriptet eller per funksjon. For eksempel, hvis det brukes på hele skriptet, kan du skrive det slik:.
1"use strict";
2
3function example() {
4 // Strict mode is applied
5}
Hvis det brukes per funksjon, kan du skrive det slik:.
1function example() {
2 "use strict";
3 // Strict mode is applied only within this function
4}
strict mode
gjelder per omfang, så det kan også aktiveres innenfor en funksjon. Siden strict mode
er aktivert som standard i moduler, trenger du heller ikke å angi det individuelt inne i modulen.
Nøkkelfunksjoner og forskjeller ved strict mode
Ved bruk av strict mode
endres noen av JavaScripts standardatferd. Her er hovedeksemplene.
Forbud mot implisitte globale variabler
I vanlig JavaScript defineres utelatte variabeler automatisk som globale variabler, men i strict mode
resulterer dette i en feil.
1"use strict";
2
3x = 10; // Error: x is not defined
Variabler må alltid deklareres ved å bruke var
, let
eller const
.
Begrensning på bruk av reserverte ord
Potensielt fremtidige JavaScript-nøkkelord (for eksempel implements
, interface
, package
osv.) kan ikke brukes som variabel- eller funksjonsnavn i strict mode
.
1"use strict";
2
3var package = "strict mode"; // Error: Unexpected strict mode reserved word
Endringer i oppførselen til this
I normal modus refererer this
i en funksjon til det globale objektet (f.eks. window
i nettlesere), men i strict mode
er this
undefined
.
1"use strict";
2
3function example() {
4 console.log(this); // undefined
5}
6
7example();
Dette bidrar til å forhindre feil forårsaket av feil bruk av this
.
Forbud mot å slette ikke-slettbare egenskaper
I normal modus blir forsøk på å slette ikke-slettbare objekt-egenskaper ignorert uten feil, men i strict mode
vil det kaste en feil.
1"use strict";
2
3var obj = Object.freeze({name: "John"});
4delete obj.name; // Error: Cannot delete property 'name'
Forbud mot duplikate parameternavn
I normal modus er det tillatt å erklære parametere med samme navn flere ganger, men i strict mode
forårsaker dette en feil.
1"use strict";
2
3function example(a, a) {
4 // Error: Duplicate parameter name not allowed in this context
5}
Forbud mot with
-setningen
with
-setningen kan redusere kodeforståelighet og er ikke tillatt i strict mode
.
1"use strict";
2
3with (Math) {
4 // Error: Strict mode code may not include a with statement
5}
Fordeler med strict mode
strict mode
forbedrer kode-sikkerhet og effektivitet på flere måter.
Bedret feildetektering
I strict mode
blir feil som overses i normal modus oppdaget, slik at utviklere kan avdekke potensielle feil tidlig. For eksempel forhindrer det opprettelsen av utilsiktede globale variabler og feil bruk av reserverte ord.
Forbedret ytelse
I strict mode
kan JavaScript-motorer optimalisere koden mer effektivt. Som et resultat kan utførelseshastigheten forbedres.
Forbedret kodesikkerhet
Håndteringen av this
blir strengere, noe som forhindrer tilgang til unødvendige globale objekter og dermed forbedrer kodesikkerheten. I tillegg unngår begrensningen på bruken av reserverte ord fremtidige konflikter med nøkkelord.
Kompatibilitet og hensyn
strict mode
ble introdusert i ECMAScript 5 og støttes ikke i nettlesere utgitt før dette. Men å aktivere strict mode
blir bare ignorert av nettlesere som ikke støtter det, uten å bryte skriptet. Derfor kan det vanligvis brukes trygt.
Når man introduserer strict mode
i et stort eksisterende prosjekt, er grundig testing avgjørende for å unngå uventede feil.
Konklusjon
strict mode
i JavaScript er en svært nyttig funksjon for å forbedre kodekvaliteten. Spesielt for storskala prosjekter eller teamutvikling anbefales det å aktivt bruke streng modus for å forhindre uventede feil og problemer, samt for å forbedre kodelesbarhet og vedlikeholdbarhet.
Å forstå og korrekt anvende strict mode
hjelper med å unngå fallgruver i JavaScript og muliggjør sikrere og mer effektiv utvikling.
Du kan følge med på artikkelen ovenfor ved å bruke Visual Studio Code på vår YouTube-kanal. Vennligst sjekk ut YouTube-kanalen.