`strict mode` i JavaScript

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

YouTube Video