Streng modus i JavaScript | Forklart

Streng modus i JavaScript | Forklart
Ettersom JavaScript er et skriptspråk, viser det noen ganger riktig utgang, selv om det inneholder noen feil. Du kan bruke “Streng modus”In JavaScript å takle denne situasjonen. JavaScript -motoren utfører skriptet med ytterligere begrensningskontroller når streng modus er aktivert.

Streng modus i JavaScript er en Begrenset variant eller Semantisk strengere som genererer feil for problemet, som motoren kan håndtere lydløst. I denne modusen blir de utdaterte JavaScript -funksjonene også fanget opp, og den relaterte feilen blir deretter vist som utgang. Som et resultat, streng modus Forbedrer sikkerhet, minimerer feil, og øker Your JavaScript -applikasjonens ytelse.

Denne oppskrivningen diskuterer streng modus i JavaScript sammen med passende eksempler. Så la oss starte!

Hvordan aktivere streng modus i JavaScript

Ved å bruke “Bruk streng”Streng, du kan aktivere“Streng modus”Og legg det til det globale omfanget for hele manuset eller bruk det på en singel funksjon bare.

Vi vil nå praktisk talt gå gjennom begge de nevnte måtene.

Aktivering av streng modus for hele skriptet i JavaScript

Hvis du vil aktivere Streng modus for helheten manus, Legg deretter til “Bruk streng”Streng i starten av skriptet, og skriv ut den nødvendige koden på følgende måte:

'bruk streng';
// Annen skriptkode
x = 5;
konsoll.logg (x);

Etter å ha utført skriptet ovenfor, har vi fått en "ReferenceError”Fordi du i streng modus ikke kan bruke variabler uten å definere dem:

Aktivere streng modus for en enkelt funksjon i JavaScript

For å aktivere “Streng modus" innenfor en funksjon, Legg til "Bruk streng”Streng i funksjonsdefinisjonens begynnelse.

For eksempel, i det undergitte skriptet, aktiverte vi "Streng modus”Bare for“displayInfo ()”Funksjon:

x = 6;
konsoll.logg (x);
funksjon displayInfo ()
'bruk streng';
y = "linuxhint";
konsoll.logg (y);

displayInfo ();

Produksjon

I den gitte utgangen har du kanskje lagt merke til at å aktivere streng modus har brukt noen begrensninger på skriptet, noe som resulterer i noen feil. Å vite mer om “ikke tillatt”Type begrensninger i JavaScript Strict Mode, ta en titt på den kommende delen.

Uklarde variabler i streng modus i JavaScript

I javascript streng modus, a variabel kan ikke initialiseres eller brukes som en ikke -erklært variabel.

Eksempel: Udeklarert variabel med streng modus i JavaScript

'bruk streng';
x = 'linuxhint';

Vi har ikke erklært "x”Variabel i det ovennevnte eksemplet. Så initialisere det med verdien “Linuxhint”Vil kaste følgende“ReferenceError”:

Uklarerte objekter i streng modus i JavaScript

Tilsvarende, i streng modus, lagt alt til objekter må erklæres først. I tilfelle du tildeler egenskaper og deres respektive verdier for et ikke -erklært objekt, vil JavaScript -motoren kaste en "ReferenceError”:

Eksempel: Uklarte objekter med streng modus i JavaScript

'bruk streng';
Ansatt = navn: 'Alex', alder: 33;

Produksjon

Slette objekter i streng modus i JavaScript

JavaScript tillater deg ikke å Slett objekter i streng modus. Hvis du gjør det, en Syntaksfeil vil bli kastet i konsollvinduet.

Eksempel: Slette objekter i streng modus i JavaScript

'bruk streng';
La ansatt = navn: 'Alex', alder: 33;
slette ansatt;

Produksjon

I “Ikke-streng”Modus, forsøket på å slette den opprettet”ansatt”Objekt vil svikte lydløst“Slett ansatt”Uttrykk vil bli evaluert som“falsk”:

Duplisering av parametere i streng modus i JavaScript

En funksjonserklæring i streng modus må ha unike parameters navn som duplisering de parameter Navnet vil kaste en Syntaksfeil.

Eksempel: Dupliserte parametere i streng modus i JavaScript

I det undergitte eksemplet har vi definert en "showInfo ()”Funksjon som omfatter dupliserte parametere (a, a):

"bruk streng";
FunctionShowInfo (a, a) konsoll.Logg ('Streng modus i JavaScript');
showInfo ();

Utførelse av den medfølgende koden vil kaste en “SyntaxError: Duplikatparameternavn ikke tillatt i denne sammenhengen”:

Skrivebeskyttet eiendom innen streng modus i JavaScript

Streng modus begrenser skrivetilgangen til en skrivebeskyttet eiendom.

Eksempel: skrivebeskyttet eiendom innen streng modus i JavaScript

For eksempel vil vi erklære en "Objekt1" har en "y”Eiendom i streng modus og setter deretter sin“skrivbar”Eiendom til“falsk”. Ved å gjøre det, "y" tilhører "Objekt1”Konverteres til skrivebeskyttet eller ikke-skribent eiendom:

'bruk streng';
La objekt1 = ;
Gjenstand.DefineProperty (Object1, 'y', verdi: 12, WRIBY: FALSE);

Neste vil vi tilordne en ny verdi til "Objekt1.y”Eiendom:

Objekt1.y = 56;

Tilordne verdi til skrivebeskyttet "Objekt1”Eiendom viser en Typeerror:

Oktale bokstaver i streng modus i JavaScript

Tall som omfatter “null”Som et prefiks kalles Oktale bokstaver, Og de er ikke tillatt i JavaScript streng modus.

Eksempel: Oktale bokstaver i streng modus i JavaScript

Følgende eksempel vil skape en oktal bokstavelig "x”Med verdien”001”:

'bruk streng';
La x = 001;

Som nevnt tidligere tillater ikke de strenge å definere oktale bokstaver, slik at du kan møte følgende Syntaksfeil:

I stedet for å bruke “0”Som et prefiks, legger til“0o”Vil løse problemet:

'bruk streng';
La x = 0O01;
konsoll.logg (x);

Nå har vi laget en oktal bokstavelig i streng modus ved å bruke "0o”Prefiks:

evaluer og argumenter innen streng modus i JavaScript

I streng modus kan du ikke bruke “eval”Og“argumenter”Som funksjonsnavn, variabelnavn eller funksjonsparametere. Både "eval”Og“argumenter”Blir behandlet som“nøkkelord”Innenfor JavaScript streng modus.

Eksempel: eval og argumenter innen streng modus i JavaScript

'bruk streng';
La eval = 32;
La argumenter = 'linuxhint';

Ved hjelp av "eval”Og“argumenter”Som variabelnavn vil sende ut følgende syntaxError:

Ikke-utvidelig objekt i streng modus i JavaScript

Den strenge modusen i JavaScript tillater ikke å legge nye egenskaper til en opprettet ikke-utvidelig gjenstand.

Eksempel: Ikke-utvidelig objekt i streng modus i JavaScript

For det første vil vi erklære en “Objekt3”Og konverter det til et ikke-utvidelig objekt ved å bruke“Gjenstand.PreventExtensions ()”Metode. Etter det vil vi forsøke å legge til en "NewProperty" til "Objekt3”:

'bruk streng';
La object3 = ;
Gjenstand.PreventExtensions (Object3);
Objekt3.newProperty = 'Mitt objekt';

Den gitte utgangen betyr at det opprettede objektet ikke er utvidbart; Derfor kan vi ikke legge til en ny eiendom:

Hvorfor bruke streng modus i JavaScript

Her er listen over noen av de fantastiske fordeler å bruke Streng modus i JavaScript:

  • Streng modus hjelper med å skrive a sikre og renere manus.
  • Den eliminerer Funksjonen til å gjemme seg stille JavaScript feil Ved å kaste en feiluttalelse.
  • Fikse feil Ved hjelp av JavaScript streng modus optimaliserer de kode og JavaScript -motoren Utfør den raskt Sammenlignet med koden skrevet i ikke-strengmodus.

Vi har gitt den essensielle informasjonen relatert til streng modus, fordeler og begrensninger i JavaScript.

Konklusjon

Ved å bruke “Bruk streng”Streng, du kan aktivere Streng modus i JavaScript i den globale konteksten av et manus eller for en enkelt funksjon. Det forbedrer JavaScript -semantikken ved å tilby Ekstra sikkerhet. Når streng modus er aktivert i et skript, kan ikke -erklærte variabler og objekter brukes. Det tillater ikke å legge til dupliserte parametere, oktale bokstaver, slette objekter og skrive inn i skrivebeskyttet objektets eiendom. Denne oppskrivningen forklarte streng modus i JavaScript sammen med passende eksempler.