A JavaScript megbocsátó nyelv. Egyes szintaxisa nem kötelező, és a nyelv könnyedebben tér vissza a hibákból, mint sok más. De ez a kézfogás büntetéssel jár: könnyebb lehet hibákat bevezetni, és az inkonzisztens kódot nehezebb olvasni.
Szerencsére, ha nagyobb fegyelmet szeretne gyakorolni, van egy egyszerű módja ennek: a szigorú mód. A szigorú mód arra kéri a JavaScriptet, hogy határozottabban reagáljon, ha problémákat észlel a kódban.
Mi az a szigorú mód?
Számos nyelv használja a szigorú mód fogalmát: egy olyan módot, amely szigorúbban értékeli és futtatja a kódot. Talán ismeri a HTML szigorú doctype-ot, amely bizonyos elemeket és attribútumokat elavult.
A Perlnek, egy másik értelmezett szkriptnyelvnek már régóta megvan a maga szigorú módja. Ez a mód tilt bizonyos típusú nem biztonságos kifejezéseket.
Hogyan használhatom a szigorú módot a JavaScriptben?
A szkripten belül tegyen egy „use szigorú” utasítást közvetlenül a tetejére, minden más utasítás elé:
// ez az egész szkript szigorú módban lesz
„szigorúan használjon”;
Ne feledje, hogy megjegyzést is írhat előtte, de kijelentéseket nem. Engedélyezheti a szigorú módot JavaScript-fájlban, vagy HTML-fájlban a szkriptblokk elején. A szigorú módot funkciónként is engedélyezheti:
function strict() {
// Funkciószintű szigorú módú szintaxis
„szigorúan használjon”;
return "Ez a függvény szigorú";
}
function loose() {
return "Ez a függvény NEM szigorú";
}
Miután engedélyezte a szigorú módot, feltétlenül tesztelje a kódot. Ha az interneten dolgozik, nyissa meg a JavaScript konzol, így azonosítani tudja az új hibákat.
Mit csinál a JavaScript szigorú módja?
Röviden, a szigorú mód kevésbé lesz elnéző bizonyos típusú problémás kódokkal szemben. A problémák figyelmen kívül hagyása és a végrehajtás folytatása helyett bizonyos hibák leállítják a szkriptet. Ez gyakran biztonságosabb, mint nemkívánatos körülmények között folytatni.
Megakadályozza a véletlenszerű globális behatolást
A legjobb példa, amely ellen a szigorú mód véd, a véletlenszerű globális változók létrehozása. Normál végrehajtás esetén ez a kód:
myVar = 17;
Létrehoz egy myVar nevű tulajdonságot a globális objektumon, feltéve, hogy korábban nem deklarálta a myVar értéket. A webböngészőben a globális objektum általában az ablak:
console.log (window.myVar);
>> 17
Ha azonban megad egy „use szigorú” utasítást, akkor a konzolban hibaüzenet jelenik meg, például:
Uncaught ReferenceError: myVar nincs megadva
Ez azért hasznos, mert gyakori elírási hibákat észlel. Könnyű félreírni egy változónevet, és sok nyelv felvesz minket egy ilyen hiba esetén.
De a JavaScript alapértelmezés szerint egyszerűen átveszi a globális objektum hatókörét, és úgy folytatja, mintha semmi baja nem lenne. Egyes kódok szándékosan függhetnek ettől a viselkedéstől, amivel tisztában kell lennie, amikor a szigorú mód használata mellett dönt.
Lásd még: Hogyan tartsa tisztán kódját az objektum tokozással
Explicitté teszi a kudarcot
A JavaScript bizonyos viselkedései meghiúsulnak, de ezt csendben teszi. Előfordulhat, hogy nem tud az ilyen hibákról, hacsak nem kifejezetten ellenőrzi őket. Például a NaN a globális objektum speciális tulajdonsága, amely érvénytelen számot jelent. Ez a tulajdonság csak olvasható, de megpróbálhat írni rá:
NaN=2;
>> 2
De bár úgy tűnik, hogy ez a feladat sikerült, nem:
NaN
>> NaN
Szigorú módban tényleges hibaüzenetet kap, amely azt jelzi, hogy nem tud hozzárendelni a NaN-hez. Ez a kód egy függvényt használ, amely lehetővé teszi a szigorú mód bemutatását a konzolban:
javascript
function badNaN() { "szigorú használat"; ablak. NaN=2; }
>> meghatározatlan
badNan()
>> Nem elkapott típushiba: a '#' objektum 'NaN' tulajdonságát nem lehet csak olvashatónak rendelni
itt: badNaN (:1:46)
:1:1-nél
Ez egy klasszikus példa, amely megmutatja, hogy bár a tudatlanság boldogság lehet, néha jobb tudni, ha valami rosszul sül el.
Figyelmeztetés az ismétlődő paraméterekre
Az utolsó példa a JavaScript egy kevéssé ismert funkciójával foglalkozik. Meglepheti, hogy megtudja, hogy a paraméterneveknek nem kell egyedinek lenniük:
function dupeParam (a, a, c) { console.log (a); }
>> meghatározatlan
dupeParam (2, 4, 8)
>> 4
Vegye figyelembe, hogy a JavaScript a legutóbbi értéket rendeli egy ismétlődő paraméterhez. Nos, ez a viselkedés nem különösebben hasznos. Valójában hasznosabb lenne, ha a JavaScript közölné velünk, hogy ez egy hiba, és a szigorú mód pontosan ezt teszi:
function dupeParam (a, a, c) { "szigorú használat"; }
<< Uncaught SyntaxError: A paraméternév megkettőzése nem engedélyezett ebben a kontextusban
Használja a szigorú módot az extra kódbizalom érdekében
A jó gyakorlatok és azok érvényesítésének eszközei kéz a kézben járnak. Bizonyos esetekben, például egy professzionális programozói szerepkörben, a lehető legtöbb fegyelmet kell gyakorolnia. Még ha csak egy hobbi nyílt forráskódú projekten dolgozik, a karbantartó inkább a szigorú módot részesíti előnyben.
Végső soron ez rajtad múlik, de hasznos tudni, hogy van egy segítő kéz. Programozóként mindig figyelnie kell a bevált gyakorlatokat, és azt, hogy mit tehet ezek betartatásáért.
A kódnak világosnak és könnyen karbantarthatónak kell lennie. Íme néhány további programozási elv, amelyek segítenek tisztázni a cselekedeteit.
Olvassa el a következőt
- Programozás
- JavaScript
- Webfejlesztés
- Programozási nyelvek
Bobby technológiai rajongó, aki két évtizeden át szoftverfejlesztőként dolgozott. Szenvedélyesen rajong a játékokért, a Switch Player Magazine főszerkesztőjeként dolgozik, és elmerül az online publikálás és webfejlesztés minden területén.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!
Kattintson ide az előfizetéshez