„JavaScript“ yra atlaidi kalba. Kai kurios jos sintaksės yra neprivalomos, o kalba atsikuria po klaidų maloniau nei daugelis kitų. Tačiau už rankos laikymą gresia bauda: gali būti lengviau įvesti klaidas, o nenuoseklų kodą sunkiau perskaityti.
Laimei, jei norite laikytis daugiau disciplinos, yra paprastas būdas tai padaryti: griežtas režimas. Griežtas režimas – tai būdas paprašyti „JavaScript“ ryžtingiau reaguoti, kai susiduria su kodo problemomis.
Kas yra griežtas režimas?
Kelios kalbos naudoja griežto režimo sąvoką: režimą, kuris griežčiau įvertina ir paleidžia kodą. Galbūt esate susipažinę su griežtu HTML doctype, kuris panaikina tam tikrus elementus ir atributus.
Perl, kita interpretuojama scenarijų kalba, jau seniai turi savo griežtą režimą. Šis režimas draudžia tam tikras nesaugias išraiškas.
Kaip naudoti griežtą režimą „JavaScript“?
Scenarijaus viršuje prieš bet kokius kitus teiginius įdėkite teiginį „naudokite griežtą“:
// visas šis scenarijus bus griežtu režimu
„naudokite griežtai“;
Atminkite, kad prieš jį galite įtraukti komentarą, bet ne teiginius. Galite įjungti griežtą režimą „JavaScript“ faile arba scenarijaus bloko pradžioje HTML faile. Taip pat galite įjungti griežtą režimą, atsižvelgdami į kiekvieną funkciją:
function griežtas() {
// Funkcijų lygio griežtojo režimo sintaksė
„naudokite griežtai“;
grąžinti "Ši funkcija yra griežta";
}
function loose() {
grąžinti "Ši funkcija NĖRA griežta";
}
Įjungę griežtą režimą, būtinai patikrinkite kodą. Jei dirbate su žiniatinkliu, atidarykite a JavaScript konsolė, kad galėtumėte nustatyti naujas klaidas.
Ką veikia „JavaScript“ griežtasis režimas?
Trumpai tariant, griežtas režimas bus mažiau atlaidus tam tikrų tipų probleminiam kodui. Užuot ignoruojant problemas ir tęsiant vykdymą, tam tikros klaidos sustabdys scenarijų. Tai dažnai yra saugiau nei tęstis nepageidautinomis aplinkybėmis.
Apsaugo nuo atsitiktinių globalų
Geriausias pavyzdys, nuo kurio apsaugo griežtas režimas, yra atsitiktinių visuotinių kintamųjų kūrimas. Įprastu vykdymu šis kodas:
myVar = 17;
Tai sukurs ypatybę pavadinimu myVar globaliame objekte, darant prielaidą, kad anksčiau nesate deklaravęs myVar. Žiniatinklio naršyklėje visuotinis objektas paprastai yra langas:
console.log (window.myVar);
>> 17
Tačiau jei įtrauksite teiginį „naudokite griežtą“, konsolėje pamatysite klaidą, pavyzdžiui:
Nepagauta nuorodos klaida: myVar neapibrėžtas
Priežastis, kodėl tai yra tokia naudinga, yra ta, kad ji atskleidžia dažną rašybos klaidą. Nesunku klaidingai įvesti kintamojo pavadinimą, o daugelis kalbų pastebėtų tokią klaidą.
Tačiau „JavaScript“ pagal numatytuosius nustatymus tiesiog prisiima visuotinio objekto apimtį ir tęsia veiklą taip, tarsi nieko nebūtų blogo. Kai kurie kodai gali tyčia priklausyti nuo tokio elgesio, o tai turėtumėte žinoti, kai nuspręsite naudoti griežtą režimą.
Taip pat žiūrėkite: Kaip išlaikyti savo kodą švarų naudojant objektų kapsuliavimą
Aiškiai nurodo nesėkmę
Kai kurie „JavaScript“ veiksmai nepavyksta, tačiau tai daroma tyliai. Galbūt nežinote apie tokias klaidas, nebent jas specialiai tikrinate. Pavyzdžiui, NaN yra speciali visuotinio objekto savybė, kuri reiškia neteisingą skaičių. Ši nuosavybė yra tik skaitoma, bet vis tiek galite pabandyti į ją rašyti:
NaN = 2;
>> 2
Bet nors atrodo, kad užduotis pavyko, nepavyko:
NaN
>> NaN
Griežtu režimu gausite tikrą klaidą, pranešančią, kad negalite priskirti NaN. Šis kodas naudoja funkciją, kad galėtumėte demonstruoti griežtą režimą konsolėje:
javascript
function badNaN() { "naudoti griežtą"; langas. NaN = 2; }
>> neapibrėžtas
badNan ()
>> Nepagautas tipo klaida: negalima priskirti tik skaitymo objekto „#“ ypatybės „NaN“
badNaN (:1:46)
ties :1:1
Tai klasikinis pavyzdys, parodantis, kad nežinojimas gali būti palaima, tačiau kartais geriau žinoti, jei kas nors negerai.
Įspėja apie pasikartojančius parametrus
Paskutiniame pavyzdyje kalbama apie mažai žinomą „JavaScript“ funkciją. Galbūt nustebsite sužinoję, kad parametrų pavadinimai nebūtinai turi būti unikalūs:
function dupeParam (a, a, c) { console.log (a); }
>> neapibrėžtas
dupeParam (2, 4, 8)
>> 4
Atminkite, kad „JavaScript“ pasikartojančiam parametrui priskiria naujausią reikšmę. Dabar toks elgesys nėra ypač naudingas. Tiesą sakant, būtų naudingiau, jei „JavaScript“ praneštų mums, kad tai klaida, ir būtent tai daro griežtas režimas:
function dupeParam (a, a, c) { "naudokite griežtą"; }
<< Nepagauta sintaksės klaida: šiame kontekste neleidžiama pasikartoti parametro pavadinimo
Naudokite griežtą režimą, kad užtikrintumėte didesnį kodo pasitikėjimą
Geroji praktika ir jos įgyvendinimo priemonės eina koja kojon. Tam tikrais atvejais, pavyzdžiui, atliekant profesionalų programavimo vaidmenį, norėsite laikytis kiek įmanoma daugiau disciplinos. Net jei jūs tik dirbate su hobio atvirojo kodo projektu, prižiūrėtojas gali pasirinkti standartinį griežtą režimą.
Galiausiai tai priklauso nuo jūsų, tačiau naudinga žinoti, kad yra pagalbos ranka. Kaip programuotojas, visada turėtumėte ieškoti geriausios praktikos ir ką galite padaryti, kad ją įgyvendintumėte.
Jūsų kodas turi būti aiškus ir lengvai prižiūrimas. Štai keletas kitų programavimo principų, kurie padės jums išvalyti savo veiksmą.
Skaitykite toliau
- Programavimas
- JavaScript
- Interneto kūrimas
- Programavimo kalbos
Bobis yra technologijų entuziastas, beveik du dešimtmečius dirbęs programinės įrangos kūrėju. Jis yra aistringas žaidimams, dirba žurnalo „Switch Player“ vyriausiuoju redaktoriumi ir yra pasinėręs į visus internetinės leidybos ir žiniatinklio kūrimo aspektus.
Prenumeruokite mūsų naujienlaiškį
Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!
Norėdami užsiprenumeruoti, spustelėkite čia