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”;
instagram viewer

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.

10 alapvető programozási alapelv, amelyet minden programozónak tudnia kell

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

RészvényCsipogEmail
Kapcsolódó témák
  • Programozás
  • JavaScript
  • Webfejlesztés
  • Programozási nyelvek
A szerzőről
Bobby Jack (62 cikk megjelent)

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.

Továbbiak Bobby Jacktől

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