`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.