Menia sa pravidlá zdvíhania v striktnom režime JavaScriptu?

Ahoj! Ako dodávateľ zdvíhacích zariadení som bol hlboko vo svete zdvíhacích zariadení a všetkých technických vecí. Jedna otázka, ktorá sa často objavuje v komunite JavaScriptu, je: "Menia sa pravidlá zdvíhania v striktnom režime JavaScript?" Poďme sa ponoriť do tejto témy a uvidíme, čo je čo.

Po prvé, pre tých, ktorí nemusia byť veľmi oboznámení, je zdvíhanie v JavaScripte celkom skvelý koncept. Umožňuje vám používať premenné a funkcie predtým, ako sú skutočne deklarované vo vašom kóde. Znie to trochu divoko, však? No, je to ako mať čarovný prútik, ktorý vám umožní zavolať niečo, aj keď to ešte oficiálne „neprišlo“.

V normálnom, neprísnom režime JavaScript, premenné deklarované snáškľúčové slová sú zdvihnuté na začiatok ich funkcie alebo globálneho rozsahu. Ale tu je háčik: zdvihne sa iba deklarácia, nie inicializácia. Uvediem príklad:

console.log(myVar); var myVar = 10;

V tomto prípade,konzola.lognevyhodí chybu. Namiesto toho sa vytlačínedefinované. To preto, že vyhláseniekde myKdeje zdvihnutý na vrchol, ale zadaniemyVar = 10sa stane neskôr pri vykonávaní kódu.

Funkcie v neprísnom režime sú tiež zdvihnuté. Funkciu môžete zavolať pred jej skutočnou deklaráciou v kóde. Napríklad:

myFunction(); function myFunction() { console.log('Ahoj, zdvíhanie!'); }

Tento kód prebehne v poriadku a vytlačí saDobrý deň, zdvíhanie!pretože celá deklarácia funkcie je zdvihnutá na začiatok.

European Standard Prefab Modular High-rise Office Buildingmetal manufacturer

Teraz hovorme o prísnom režime. Prísny režim v JavaScripte môžete povoliť pridaním reťazca„používať prísne“;na začiatku skriptu alebo funkcie. Striktný režim je ako disciplinovanejšia verzia JavaScriptu. Vynucuje prísnejší súbor pravidiel, aby bol váš kód robustnejší a menej náchylný na chyby.

Pokiaľ ide o zdvíhanie, pravidlá prenášpremenné v prísnom režime sú takmer rovnaké ako v neprísnom režime. Deklarácia sa zdvihne, ale nie inicializácia. Takže nasledujúci kód v prísnom režime sa bude stále správať podľa očakávania:

„používať prísne“; console.log(myVar); var myVar = 10;

Vytlačí sanedefinovanéz dôvodu zdvíhanianášvyhlásenie.

Prísny režim má však určité rozdiely, pokiaľ ide o zdvíhanie funkcií. V prísnom režime, ak deklarujete funkciu vo vnútri bloku (ako naprakvyhlásenie alebo apreslučka), táto funkcia už nie je zdvihnutá na začiatok funkcie alebo globálneho rozsahu.

Tu je príklad:

„používať prísne“; if (true) { function blockFunction() { console.log('Funkcia vnútri bloku'); } } blockFunction(); // Toto vyvolá chybu ReferenceError

V neprísnom režime to môže fungovať, pretože funkcia by bola zdvihnutá. Ale v prísnom režime, funkciablockFunctionje k dispozícii iba v rámci bloku, kde je deklarovaný. Takže pokus zavolať to mimo bloku má za následok aReferenceError.

Ďalším zaujímavým aspektom je použitienechakonštv prísnom režime. Toto sú nové spôsoby deklarovania premenných v JavaScripte zavedené v ES6. Na rozdiel odnáš,nechakonštnie sú zdvíhané rovnakým spôsobom. Majú to, čo sa nazýva „časová mŕtva zóna“ (TDZ).

Pozrime sa na príklad snech:

„používať prísne“; console.log(myLetVar); // Toto vyvolá chybu ReferenceError nech myLetVar = 10;

ThenechpremenlivýmyLetVarnie je možné získať pred jeho vyhlásením. TDZ začína na začiatku bloku, kde jenechpremenná je deklarovaná a končí, keď sa dosiahne skutočný deklaračný príkaz.

Takže, aby som odpovedal na otázku „Menia sa pravidlá zdvíhania v striktnom režime JavaScript?“, odpoveď je áno a nie. Pravidlá zdvíhania prenášpremenné zostávajú do značnej miery rovnaké, ale existujú významné zmeny, pokiaľ ide o zdvíhanie funkcií a správanienechakonštpremenné.

Ako dodávateľ zdvíhania je dôležité porozumieť týmto pravidlám zdvíhania JavaScriptu, pretože to môže ovplyvniť spôsob, akým píšeme a ladíme kód. Či už pracujete na jednoduchom skripte alebo na rozsiahlej aplikácii, poznanie týchto nuancií vám môže ušetriť veľa bolesti hlavy.

Teraz, ak ste na trhu vysokokvalitných riešení zdvíhania, máme pre vás pokrytie. Zaoberáme sa aj niektorými špičkovými oceľovými stavebnými výrobkami. Pozrite si našeVopred navrhnutá výšková obytná oceľová budova. Je to skvelá voľba pre tých, ktorí hľadajú spoľahlivé a efektívne riešenie oceľových budov.

Máme tiežPrefabrikovaná viacposchodová oceľová konštrukcia bytového domu Výkresy. Tieto výkresy sú navrhnuté tak, aby váš stavebný projekt bol plynulejší a organizovanejší.

A ak vás to zaujímakovovýroba, môžeme vám poskytnúť vysoko kvalitné produkty, ktoré spĺňajú európske normy.

Ak máte záujem o niektorý z našich zdvíhacích produktov alebo riešení oceľových budov, neváhajte nás osloviť. Sme tu, aby sme vám pomohli so všetkými vašimi potrebami v oblasti obstarávania. Či už ide o malý projekt alebo rozsiahly vývoj, máme odborné znalosti a produkty, aby bol úspešný.

Začnime rozhovor o tom, ako môžeme spolupracovať. Kontaktujte nás, aby sme prediskutovali vaše požiadavky a získali cenovú ponuku. Tešíme sa na vašu odpoveď!

Referencie

  • „JavaScript: Definitívny sprievodca“ od Davida Flanagana
  • Webové dokumenty MDN o zdvíhaní JavaScriptu a prísnom režime

Zaslať požiadavku