JavaScript je jezik koji oprašta. Neke njegove sintakse nisu obavezne, a jezik se oporavlja od pogrešaka s više milosti od mnogih drugih. Ali ovo držanje rukom dolazi s kaznom: može biti lakše uvesti bugove, a nedosljedan kod je teže čitati.
Srećom, ako želite vježbati više discipline, postoji jednostavan način za to: strogi način rada. Strogi način rada je način traženja od JavaScripta da odlučnije reagira kada naiđe na probleme u vašem kodu.
Što je strogi način rada?
Nekoliko jezika koristi koncept strogog načina rada: način koji rigoroznije evaluira i izvodi kod. Možda ste upoznati sa HTML strict doctype, koji odbija određene elemente i atribute.
Perl, drugi interpretirani skriptni jezik, dugo je imao svoj vlastiti strogi način rada. Ovaj način zabranjuje određene vrste nesigurnog izražavanja.
Kako mogu koristiti strogi način rada u JavaScriptu?
Unutar skripte, stavite naredbu "use strict" odmah na vrh, prije bilo koje druge izjave:
// cijela ova skripta bit će u strogom načinu rada
'koristiti strogo';
Imajte na umu da prije njega možete uključiti komentar, ali ne i izjave. Strogi način rada možete omogućiti u JavaScript datoteci ili na početku bloka skripte u HTML datoteci. Također možete omogućiti strogi način rada od funkcije do funkcije:
funkcija strict() {
// Sintaksa strogog načina rada na razini funkcije
'koristiti strogo';
return "Ova funkcija je stroga";
}
funkcija loose() {
return "Ova funkcija NIJE stroga";
}
Nakon što omogućite strogi način rada, provjerite jeste li testirali svoj kod. Ako radite s webom, otvorite a JavaScript konzola, tako da možete identificirati sve nove pogreške.
Što radi JavaScriptov strogi način rada?
Ukratko, strogi način rada manje će opraštati određene vrste problematičnog koda. Umjesto da ignoriraju probleme i nastavljaju izvršavanje, određene pogreške će zaustaviti skriptu. To je često sigurnije nego nastaviti u nepoželjnim okolnostima.
Sprječava slučajne globalne pojave
Najbolji primjer od kojeg strogi način rada štiti je stvaranje slučajnih globalnih varijabli. U normalnom izvršavanju, ovaj kod:
myVar = 17;
Na globalnom objektu stvorit će svojstvo pod nazivom myVar, pod pretpostavkom da prethodno niste deklarirali myVar. U web pregledniku, globalni objekt je obično prozor:
console.log (window.myVar);
>> 17
Međutim, ako uključite izjavu "koristi strogo", vidjet ćete pogrešku na konzoli, nešto poput:
Neuhvaćena ReferenceError: myVar nije definirana
Razlog zašto je ovo toliko korisno je taj što otkriva uobičajeni slučaj tipkarske greške. Lako je pogrešno upisati ime varijable, a mnogi jezici bi nas otkrili na takvu grešku.
Ali JavaScript, prema zadanim postavkama, jednostavno preuzima opseg globalnog objekta i nastavlja kao da ništa nije u redu. Neki kod može namjerno ovisiti o tom ponašanju, što je nešto čega biste trebali biti svjesni kada odlučite koristiti strogi način rada.
Vidi također: Kako zadržati svoj kod čistim pomoću inkapsulacije objekata
Neuspjeh čini eksplicitnim
Neko ponašanje u JavaScriptu ne uspijeva, ali to radi tiho. Možda nećete znati za takve pogreške osim ako ih posebno ne provjeravate. Na primjer, NaN je posebno svojstvo globalnog objekta koji predstavlja nevažeći broj. Ovo svojstvo je samo za čitanje, ali još uvijek možete pokušati pisati u njega:
NaN = 2;
>> 2
No, iako izgleda kao da je taj zadatak uspio, nije:
NaN
>> NaN
U strogom načinu rada dobit ćete stvarnu pogrešku koja vam govori da ne možete dodijeliti NaN. Ovaj kod koristi funkciju tako da možete demonstrirati strogi način rada na konzoli:
javascript
function badNaN() { "koristi strogo"; prozor. NaN = 2; }
>> nedefinirano
badNan()
>> Uncaught TypeError: Ne može se dodijeliti svojstvu samo za čitanje 'NaN' objekta '#'
kod badNaN (:1:46)
u :1:1
Ovo je klasičan primjer koji pokazuje, iako neznanje može biti blaženstvo, ponekad je bolje znati ide li nešto po zlu.
Upozorava na duplicirane parametre
Posljednji primjer bavi se malo poznatom značajkom JavaScripta. Možda će vas iznenaditi kada saznate da nazivi parametara ne moraju biti jedinstveni:
funkcija dupeParam (a, a, c) { console.log (a); }
>> nedefinirano
dupeParam (2, 4, 8)
>> 4
Imajte na umu da JavaScript dodjeljuje najnoviju vrijednost dupliciranom parametru. E sad, ovo ponašanje nije osobito korisno. Zapravo, bilo bi korisnije da nam JavaScript kaže da je riječ o pogrešci, a upravo to radi strogi način:
function dupeParam (a, a, c) { "koristi strogo"; }
<< Neuhvaćena sintaksna pogreška: duplikat naziva parametra nije dopušten u ovom kontekstu
Koristite strogi način rada za dodatno samopouzdanje koda
Dobre prakse i sredstva za njihovu provedbu idu ruku pod ruku. U nekim kontekstima, kao što je uloga profesionalnog programiranja, poželjet ćete vježbati što je više moguće discipline. Čak i ako samo radite na hobi projektu otvorenog koda, održavatelj će možda radije koristiti strogi način rada kao standard.
U konačnici, to ovisi o vama, ali korisno je znati da je ruka pomoći dostupna. Kao programer, uvijek biste trebali biti u potrazi za najboljim praksama i što možete učiniti da ih provedete.
Vaš kod treba biti jasan i jednostavan za održavanje. Evo nekoliko drugih načela programiranja koja će vam pomoći da očistite svoj čin.
Pročitajte dalje
- Programiranje
- JavaScript
- Web razvoj
- Programski jezici
Bobby je tehnološki entuzijast koji je većinu dva desetljeća radio kao programer softvera. Strastven je za igranje igara, radi kao glavni urednik u Switch Player Magazinu i uronjen je u sve aspekte online izdavaštva i web razvoja.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Kliknite ovdje za pretplatu