JavaScript Jargon 10 villkor du bör veta
Från currying till förslutningar det finns en hel del JavaScript-jargon (speciella ord som används inom fältet) och vet vilka som inte bara hjälper dig att öka ditt ordförråd men förstå JavaScript bättre. Jargons finns normalt i dokumentationer och tekniska artiklar. Men några av dem gillar förslutningar är ganska vanliga saker att veta om. Att veta vad ordet betyder betyder kan hjälpa dig att känna till konceptet som det heter för bättre.
Det här inlägget är sammanställningen av 10 sådana villkor med deras mening och det sammanhang där de används i JavaScript. Om du är nybörjare har den här listan blivit täckt av grunderna godshantering. Samtidigt ingår också mindre kända eller mindre begripliga termer.
- ställighet
- Anonym
- Stängning
- Currying
- lyft
- Mutation
- Pragma
- Vakt
- Vanilj
- Variadic
1. Arity
ställighet (från latin) används termen för att referera till antalet argumenter eller operander i en funktion eller operation. Du är mest sannolikt att stöta på det här ordet i JavaScript-området när det används för att nämna antal argument som förväntas av en JavaScript-funktion.
Det finns även en egendom som heter arity, of the Fungera
objekt som returnerar antalet förväntade argument i en funktion. Det är nu föråldrat och ersatt av längd
.
Följande funktion har en aritet av 3.
funktion getName (första, mitten, sista) returnera först + "+ mitten +" + sista;
2. Anonym
Anonym är ett adjektiv. När något eller någon kallas anonym betyder det att sakens eller personens namn är oidentifierat. På samma sätt i JavaScript är en anonym funktion den som inte identifieras av ett namn.
(funktion () // kropp) ();
Ovanstående är en IIFE (omedelbart uppmanad funktionsuttryck). Funktionen i den är anonym eftersom den inte har något namn. Ta en titt på den här nedan.
var foo = funktion () ;
Det sägs också vara en anonym funktion eftersom det inte finns något namn efter nyckelordet fungera
.
En liten bit av tvivel stiger i korrekt användning av ordet “anonym”. Med IIFE kallas funktionen direkt, inget namn är involverat, men för att kalla den senare funktionen syntaxen foo ()
är använd.
Det är som om vi döpt en namnlös funktion med namnet "foo" och kallade det med det. Räknas det som anonym? Jag vet inte, jag lämnar det till de engelska experterna. Men min förvirring åt sidan, de båda är faktiskt kallad anonym funktion.
3. Stängning
Här är en av definitionerna från oxford ordbok för stängning: “En sak som stänger eller förseglar någonting, till exempel en keps eller slips.”
I JavaScript är stängning en inre funktion, som är tillgänglig utanför sin yttre funktion, med dess anslutning till den yttre funktionens variabler fortfarande intakta.
Att förklara saker (kanske inte exakt men helt enkelt), överväga stängning som en servitör i en restaurang. Många saker händer inom ett restaurangkök, där vi inte får komma in eller se. Men hur ska vi då få vår mat??
Det är här servitörer kommer in. Vi kallar dem, beställer maten, och sedan går de till köket, informerar orderens kockar och tar med det när beställningen är klar. På så sätt har vi inte brutit några “regler” och kan fortfarande klara av att ta en måltid.
Servitören är någon som kan ta in vår order i köket och återvända med maten. JavaScript förslutningar liknar det som de kan ta våra parametrar och ta tillbaka oss variabler (referenser till dessa variabler, för att vara exakta) från inuti en funktion som vi inte är tillåtna i.
funktionsorder () var mat; funktion servitör (order) kock (ordning); återvända mat; funktionskock (order) if (order === 'pasta') food = ['pasta', 'gravy', 'krydda']; kock(); funktionskock () food.push ('cooked'); returnera servitören; var myOrder = order (); console.log (myOrder ( 'pasta')); // Array ["pasta", "gravy", "kryddor", "kokta"]
Som du kan se från ovanstående kod, allt bortsett från servitör
och dess returvärde från insidan av orderfunktionen är inte utsatt för omvärlden.
4. Currying
Effekten, uppkallad efter Haskell Curry, hänvisar till använder flera funktioner med enstaka argument, i stället för en enda funktion med flera argument. Låt oss se Lägg till
funktionerna nedan till exempel.
funktion addx (x) funktion addy (y) return x + y; returnera addy funktion add (x, y) return (x + y); console.log (addx (3) (4)); \\ 7 console.log (lägg till (3,4)); \\ 7
Båda funktionerna returnerar samma resultat. Funktionen addx
accepterar en parameter x
medan du återvänder addy
som i sin tur accepterar y
värde, utför tillägget med x
och returnerar summan.
Funktionen Lägg till
tar helt enkelt båda x
och y
på samma gång, utför additionen och returnerar summan. Hittills kanske den första funktionen inte verkar mycket användbar, tills ...
var add4 = addx (4); console.log (add4 (8)); // 12 console.log (add4 (6)); // 10 console.log (add4 (-74)); // - 70
Nu blir den tidigare funktionen plötsligt intressant. Vid currying kan du alltid fixa ett steg i en sekvens av operationer som tillägg av 4 från ovanstående kod, vilket är till hjälp när en av variablerna som används i operationen alltid är samma.
5. Lyftning
Hoist betyder att höja något. lyft i JavaScript betyder också detsamma och vad som höjas är deklarationen (variabel- och funktionsdeklarationer).
Förklaringar är var variabler och funktioner skapas med nyckelord var
(inte för global) och fungera
.
Det spelar ingen roll vart du skriver in koden för att deklarera en funktion eller en variabel, under utvärderingen flyttas alla deklarationer upp inom ramen för de där de bor (utom i strikt läge). Det är därför möjligt att skriva en arbetskod med koden för funktionsanrop placerad före funktionsdeklarationen.
var namn = 'Velma'; console.log (sayCatchPhrase (namn)); // "Jinkies!" funktionen sayCatchPhrase (namn) fraser = 'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Razor': 'Bingo!', 'He-Man': 'Jag har makten '; returnera fraser [namn];
6. Mutation
Mutation innebär ändring eller modifiering. Om du någonsin stöter på ordet mutation i JavaScript hänvisar det förmodligen till de förändringar som DOM-elementen gick igenom.
Det finns även ett API som heter MutationObserver för att hålla koll på DOM-mutationerna som Tillägg av barnelement eller ändras till elementets attribut. (Du kan läsa mer om MutationObserver i mitt inlägg.)
7. Pragma
Pragma saknar pragmatisk information. På vanlig engelska är pragmatiskt ett adjektiv som betyder förnuftigt och praktiskt. Vid programmering, pragma hänvisar till koden som består av användbar information om hur en kompilator eller tolk eller monterare ska behandla programmet.
Det bidrar inte något till programmeringsspråket själv och dess syntax kan variera. De påverkar bara kompilatorns beteende. JavaScript har också få pragmas, en av dem är sträng
.
"använd strikt";
Genom ovanstående pragma kommer JavaScript-koden att exekveras i strikt läge. I strikt läge är dålig syntax inte tillåten, godshantering är inte klar, tysta fel visas osv. Det hjälper till skriver en säkrare och optimerad JavaScript-kod.
8. Sentinel
Sentinels är soldater som står vakt (kom ihåg dem från X-Men?). Vid programmering, vaktposter är värden som används för att indikera slutet på en slinga eller process. De kan också ringas “flaggor”.
Du kan använda något rimligt värde som en vakt. Här är ett exempel på vaktposter används i JavaScript; de index för
metod som returnerar -1 (sentinelvärdet) när sökvärdet inte hittas i den riktade strängen. Nedan är en funktion som returnerar läget för ett array värde och om värdet inte hittas returnerar -1.
funktion getPos (ary, val) var i = 0, len = ary.length; för (; i9. Vanilj
Jag tycker att allas första smaksmak måste ha varit vanilj. Jag tror också att det inte bara i glass, men i stort sett blev varje söt skål vanilj slags de standard smak. Jag har sett en hel del kaka recept där de lägger till minst en droppe av det i blandningen - bara för att öka smaken.
Och det är vad vanilj är en traditionell standard smak. Vanilj JavaScript hänvisas till standard JavaScript-no-ramverket. Vanilj i själva verket används inte bara för att beskriva standardversionen av JavaScript men även andra språk som CSS.
10. Variadic
Variadic är ett adjektiv som skapats genom att bli medlem “variabel” och “adicity”. “Adicity” är från forntida grekiska, med en betydelse som är detsamma som det latinska ordet “ställighet” (Punkt 1 i den här listan). Således uttrycket variadic är van att uttrycka något som har ett varierande antal argument.
I JavaScript, a variadic funktionen tar i sig ett antal argument. Det kan skapas med
argument
fast egendom,tillämpa
metod och sedan ES6, spridningsoperatören. Nedan är ett exempel med en spridningsoperatör.funktionstest (... a) console.log (a); testet ('a', 'b', 'c', 8, [56, -89]); // output är Array ["a", "b", "c", 8, Array [2]]