JavaScript Jargon: 10 voorwaarden die u moet weten
Van currying tot sluitingen zijn er nogal wat JavaScript-jargons (speciale woorden die in het veld worden gebruikt), waardoor je niet alleen je woordenschat kunt verbeteren, maar JavaScript ook beter begrijpt. Jargons zijn normaal te vinden in documentatie en technische artikelen . Maar sommigen van hen houden van sluitingen zijn vrij standaard dingen om van te weten. Weten wat het woord zelf betekent, kan je helpen het concept te kennen waarnaar het is genoemd voor beter.
Dit bericht is de compilatie van 10 van zulke termen met hun betekenis en de context waarin ze in JavaScript worden gebruikt . Als je een beginner bent, heeft deze lijst je bedekt met de basis zoals hijsen . Tegelijkertijd zijn er minder bekende of minder begrepen termen in opgenomen.
- ariteit
- Anoniem
- Sluiting
- Currying
- Hijsen
- Mutatie
- Pragma
- schildwacht
- Vanille
- variadic
1. Arity
Arity (van het Latijn) is de term die wordt gebruikt om te verwijzen naar het aantal argumenten of operanden in respectievelijk een functie of bewerking. U zult dit woord waarschijnlijk tegenkomen op het gebied van JavaScript wanneer het wordt gebruikt om het aantal argumenten te vermelden dat wordt verwacht door een JavaScript-functie .
Er is zelfs een eigenschap met de naam arity, van het object Function
dat het aantal verwachte argumenten in een functie retourneert. Het is nu echter verouderd en vervangen door length
.
De volgende functie heeft een arity van 3.
functie getName (first, middle, last) {return first + '' + middle + '' + last; }
2. Anoniem
Anoniem is een bijvoeglijk naamwoord. Wanneer naar iets of iemand wordt verwezen als anoniem, betekent dit dat de naam van het ding of de persoon niet geïdentificeerd is. Eveneens in JavaScript is een anonieme functie die niet wordt geïdentificeerd door een naam.
(function () {// body}) ();
Hierboven ziet u een IIFE (Direct Opgevaagde Functie-Uitdrukking). De functie daarin is anoniem omdat deze geen naam heeft. Kijk nu eens naar die hieronder.
var foo = function () {};
Dat is ook een anonieme functie omdat er geen naam achter de sleutelwoordfunctie staat.
Een beetje twijfel rijst in de juistheid van het gebruik van het woord "anoniem". Met IIFE wordt de functie meteen aangeroepen, er is geen naam bij betrokken, terwijl voor het aanroepen van de laatste functie de syntaxis foo()
wordt gebruikt.
Het is alsof we een naamloze functie doopten met de naam 'foo' en het daarmee gebruikten. Geldt dat als anoniem? Ik weet het niet, ik laat dat over aan de Engelse experts. Maar mijn verwarring terzijde, zij worden allebei inderdaad anonieme functies genoemd.
3. Sluiting
Hier is een van de definities uit Oxford-woordenboek voor sluiting : " Een ding dat iets sluit of verzegelt, zoals een pet of das ."
In JavaScript is sluiting een innerlijke functie, die toegankelijk is buiten het bereik van de buitenfunctie, waarbij de verbinding met de variabelen van de buitenfunctie nog steeds intact is.
Om dingen uit te leggen (misschien niet nauwkeurig, maar eenvoudig genoeg), overweeg de sluiting als ober in een restaurant. Er gebeuren veel dingen in de keuken van een restaurant, waar we niet mogen binnenkomen of kijken. Maar hoe moeten we dan ons voedsel krijgen?
Daar komen obers binnen. We bellen ze, bestellen het eten en gaan dan naar de keuken, informeren de koks over de bestellingen en brengen het naar ons wanneer de bestelling klaar is. Op deze manier hebben we geen "regels" overtreden en kunnen we nog steeds een maaltijd pakken.
De ober is iemand die in staat is om onze bestelling naar de keuken te nemen en terug te keren met het eten. JavaScript- sluitingen zijn vergelijkbaar met die, ze kunnen onze parameters meenemen en variabelen terugbrengen (referenties naar die variabelen, om precies te zijn) vanuit een functie die we niet mogen gebruiken.
functieorder () {var food; functie ober (bestelling) {chef (bestelling); voer terug; } functie chef (volgorde) {if (order === 'pasta') {food = ['pasta', 'jus', 'kruiden']; koken(); }} functie cook () {food.push ('cooked'); } return ober; } var myOrder = order (); console.log (MyOrder ( 'pasta')); // Array ["pasta", "jus", "kruiden", "gekookt"]
Zoals je kunt zien aan de hand van de bovenstaande code, wordt alles behalve de waiter
en de geretourneerde waarde van binnen de orderfunctie niet blootgesteld aan de buitenwereld.
4. Currying
Het effect, genoemd naar Haskell Curry, verwijst naar het gebruik van meerdere functies met enkele argumenten, in plaats van een enkele functie met meerdere argumenten. Laten we de onderstaande functies hieronder bekijken.
functie addx (x) {functie addy (y) {return x + y; } return addy} functie add (x, y) {return (x + y); } console.log (addx (3) (4)); \\ 7 console.log (voeg toe (3, 4)); \\ 7
Beide functies retourneren hetzelfde resultaat. De functie addx
accepteert een parameter x
bij het retourneren van addy
die op zijn beurt de y
waarde accepteert, voert de optelling uit met x
en retourneert de som.
De functie add
neemt eenvoudigweg zowel x
als y
op hetzelfde moment, voert de optelling uit en retourneert de som. Tot nu toe lijkt de eerste functie niet erg nuttig, totdat ...
var add4 = addx (4); console.log (add4 (8)); // 12 console.log (add4 (6)); // 10 console.log (add4 (-74)); // - 70
Nu wordt de eerste functie opeens interessant. Bij currying kunt u altijd een stap in een reeks bewerkingen uitvoeren, zoals de toevoeging van 4 uit de bovenstaande code, wat handig is wanneer een van de variabelen die in de bewerking worden gebruikt altijd dezelfde is.
5. Hijsen
Takelen betekent iets opvoeden. Het hijsen van JavaScript betekent hetzelfde en wat er wordt opgehaald, is de aangifte (variabele & functie-aangiften).
Verklaringen zijn waar variabelen en functies worden gemaakt met trefwoorden var
(niet voor globaal) en function
.
Het maakt niet uit waar u de code typt om een functie of variabele te declareren, tijdens de evaluatie worden alle aangiften verplaatst binnen het bereik waar ze zich bevinden (behalve in de strikte modus). Daarom is het mogelijk om een werkcode te schrijven met de code voor functieaanroep die vóór functiedeclaratie is geplaatst.
var name = 'Velma'; console.log (sayCatchPhrase (name)); // "Jinkies!" function sayCatchPhrase (naam) {phrases = {'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Razor': 'Bingo!', 'He-Man': 'I Have the Power '}; zinsdelen retourneren [naam]; }
6. Mutatie
Mutatie betekent verandering of wijziging. Als u ooit het woord mutatie tegenkomt in JavaScript, verwijst dit waarschijnlijk naar de wijzigingen die DOM-elementen hebben doorgemaakt.
Er is zelfs een API genaamd MutationObserver om de DOM-mutaties in de gaten te houden, zoals toevoeging van onderliggende elementen of wijzigingen in de kenmerken van het element . (U kunt meer lezen over MutationObserver in mijn bericht.)
7. Pragma
Pragma is een afkorting voor pragmatische informatie. In gewoon Engels is pragmatisch een bijvoeglijk naamwoord dat verstandig en praktisch betekent. Bij het programmeren verwijst pragma naar de code die bestaat uit nuttige informatie over hoe een compiler of tolk of assembler het programma moet verwerken .
Het draagt niets bij aan de programmeertaal zelf en de syntaxis ervan kan variëren. Ze hebben alleen invloed op het compiler-gedrag. JavaScript heeft ook weinig pragma's, een ervan is strict
.
"gebruik strikt";
Door het bovenstaande pragma, zal de JavaScript-code worden uitgevoerd in strikte modus. In strikte modus is slechte syntaxis niet toegestaan, hijsen is niet voltooid, stille fouten worden getoond, enz. Het helpt bij het schrijven van een veiligere en geoptimaliseerde JavaScript-code .
8. Sentinel
Schildwachten zijn soldaten die op hun hoede zijn (Weet je nog die van X-Men?). Bij het programmeren zijn sentinels waarden die worden gebruikt om het einde van een lus of proces aan te geven. Ze kunnen ook "vlaggen" worden genoemd.
U kunt elke redelijke waarde gebruiken als een schildwacht . Hier is een voorbeeld van sentinels gebruikt in JavaScript; de methode indexOf
die -1 (de waarde van de sentinel) retourneert wanneer de indexOf
niet wordt gevonden in de getargete string. Hieronder ziet u een functie die de positie van een arraywaarde retourneert en als -1 niet wordt gevonden als de waarde niet wordt gevonden.
functie getPos (ary, val) {var i = 0, len = ary.length; voor (; i9. Vanille
Ik denk dat ieders eerste ijssmaak vanille moet zijn geweest. Ik denk ook dat niet alleen in ijs, maar in vrijwel elk zoet gerecht vanille een standaard smaak is geworden. Ik heb heel wat taartrecepten gezien waarbij ze er minstens één druppel in de mix aan toevoegden - gewoon om de smaak te verhogen.
En dat is wat vanille is, een traditionele standaardsmaak . Vanilla JavaScript wordt verwezen naar het standaard JavaScript - geen framework. Vanille wordt namelijk niet alleen gebruikt om de standaardversie van JavaScript te beschrijven, maar ook in andere talen zoals CSS.
10. Variadic
Variadic is een bijvoeglijk naamwoord gecreëerd door het samenvoegen van "variabel" en "adicity". "Adicity" is van het oude Grieks, met een betekenis die hetzelfde is als het Latijnse woord "arity" (item 1 in deze lijst). De term variadic wordt dus gebruikt om iets uit te drukken met een variabel aantal argumenten .
In JavaScript neemt een variadische functie een willekeurig aantal argumenten op. Het kan worden gemaakt met de eigenschap
arguments
, methodeapply
en sinds ES6, de operator spread. Hieronder ziet u een voorbeeld met een spread-operator.functietest (... a) {console.log (a); } test ('a', 'b', 'c', 8, [56, -89]); // output is Array ["a", "b", "c", 8, Array [2]]6 stappen om op koers te blijven als een freelance schrijver
Dit artikel maakt deel uit van onze 'Guide to Freelancing-serie', bestaande uit handleidingen en tips om u te helpen een betere zelfstandige te worden. Klik hier om meer te lezen uit deze serie. Freelance schrijven is een buitengewoon beroep. Het vergt toewijding, concentratie, toewijding en toewijding aan anderen om het goed te doen
9 coolste kinderen die je absoluut zullen inspireren!
Kinderen verbazen me altijd met hun brutaal eerlijke meningen, hun no-nonsense benadering van wat zwart of wit is met weinig of geen aandacht voor wat er in de schaduw van grijs valt, evenals hun onwrikbare behoefte om gerechtigheid gedaan te zien, waar en wanneer het is het meest nodig. Tegenwoordig stellen kinderen niet alleen de vragen die volwassenen niet durven te stellen of erover na te denken, maar ook hun handen vuil te maken en hulp te krijgen waar het het hardst nodig is