JavaScript izraze žargona 10 trebali biste znati
Iz currying do zatvarači postoji velik broj JavaScript žargona (posebne riječi korištene unutar polja) koje znaju koje će vam pomoći ne samo u povećanju vokabulara, nego i bolje razumjeti JavaScript. Žargoni se obično nalaze u dokumentaciji i tehničkim člancima. Ali neki od njih vole zatvarači su prilično standardne stvari o kojima treba znati. Znajući što sama riječ može pomoći da znate koncept koji je nazvan za bolje.
Ovaj post je kompilacija s 10 takvih pojmova s njihovo značenje i kontekst u kojem se koriste u JavaScriptu. Ako ste početnik, ovaj popis je dobio pokrivena s osnovama kao što su dizanje. U isto vrijeme tamo su uključeni i manje poznati ili manje razumljivi pojmovi.
- Arity
- anoniman
- Zatvaranje
- Currying
- isticanje
- Mutacija
- Pragma
- stražar
- vanilija
- Variadic
1. Arity
Arity (iz latinskog) je izraz koji se koristi za upućivanje na broj argumenata ili operanda u funkciji odnosno operaciji. Vrlo vjerojatno ćete naići na ovu riječ u području JavaScripta kada se koristi za spominjanje broj argumenata koje očekuje funkcija JavaScript.
Postoji čak i imanje pod nazivom arity, od Funkcija
objekt koji vraća broj očekivanih argumenata u funkciji. Sada je zastarjela i zamijenjena dužina
.
Sljedeća funkcija ima značajku 3.
funkcija getName (prva, srednja, posljednja) povratak prvi + "+ srednji +" + zadnji;
2. Anonimno
anoniman je pridjev. Kada se nešto ili netko naziva anonimnim, to znači da je ime osobe ili osobe neidentificirano. Slično tome, u JavaScriptu je anonimna funkcija ona koja nije identificirana imenom.
(function () // body) ();
Iznad je IIFE (Izraz odmah aktivne funkcije). Funkcija u njoj je anonimna jer nema ime. Sada pogledajte jedan ispod.
var foo = function () ;
Također je rečeno da je anonimna funkcija jer nema imena iza ključne riječi funkcija
.
Malo sumnje raste u ispravnosti upotrebe riječi “anoniman”. S IIFE-om, funkcija se odmah poziva, bez imena u koje je uključeno, a za pozivanje zadnje funkcije sintaksu foo ()
koristi se.
Kao da smo krstili bezimenu funkciju s imenom 'foo' i nazvali je koristeći to. Smatra li se to anonimnim? Ne znam, prepustit ću to engleskim stručnjacima. No, uz moju konfuziju, oboje se doista nazivaju anonimnom funkcijom.
3. Zatvaranje
Evo jedne od definicija iz oksfordskog rječnika za zatvaranje: “Ono što nešto zatvara ili pečati, kao što je kapa ili kravata.”
U JavaScriptu je zatvaranje unutarnja funkcija, koja je dostupna izvan opsega svoje vanjske funkcije, a veza s varijablama vanjske funkcije još je netaknuta.
Da bi objasnili stvari (možda ne točno, ali jednostavno dovoljno), razmislite zatvaranje kao konobar u restoranu. Mnogo se stvari događa u kuhinji restorana, gdje nam nije dopušteno ući ili vidjeti. Ali kako ćemo onda dobiti našu hranu?
Tamo ulaze konobari. Zovemo ih, naručujemo hranu, a onda će otići u kuhinju, obavijestiti kuhare o narudžbama i donijeti nam ih kada je narudžba spremna. Ovako nismo slomili “pravila” i još uvijek može uhvatiti obrok.
Konobar je netko tko je u stanju uzeti našu narudžbu u kuhinju i vratiti se s hranom. JavaScript zatvarači su slične onima koje mogu uzmi naše parametre i vratite nam varijable (reference na te varijable, da budemo precizni) iznutra funkcije koja nam nije dopuštena.
redoslijed funkcija () var food; službenik (red) chef (order); povratna hrana; funkcija kuhar (red) if (order === 'pasta') hrana = ['tjestenina', 'umak', 'začin']; kuhati(); funkcija cook () food.push ('kuhan'); konobar povratka; var myOrder = order (); console.log (myOrder ( 'tjestenina')); // Array ["tjestenina", "umak", "začin", "kuhan"]
Kao što možete vidjeti iz gornjeg koda, sve osim konobar
i njegova povratna vrijednost iz funkcije reda nije izložena vanjskom svijetu.
4. Currying
To se naziva po Haskell Curryju pomoću više funkcija s jednim argumentom, umjesto jedne funkcije s više argumenata. Da vidimo dodati
na primjer.
funkcija addx (x) funkcija addy (y) povrat x + y; return addy funkcija add (x, y) return (x + y); console.log (addx (3) (4)); 7 console.log (add (3,4)); \\ 7
Obje funkcije vraćaju isti rezultat. Funkcija addx
prihvaća parametar x
dok se vraćate Addy
koji zauzvrat prihvaća y
vrijednost, izvršava dodatak s x
i vraća zbroj.
Funkcija dodati
jednostavno uzima oboje x
i y
istodobno izvršava dodavanje i vraća zbroj. Do sada se prva funkcija možda ne čini vrlo korisnom, sve dok ...
var add4 = addx (4); console.log (add4 (8)); // 12 console.log (add4 (6)); // 10 console.log (add4 (-74)); // - 70
Sada je prva funkcija iznenada postala zanimljiva. U currying-u, uvijek možete popraviti korak u nizu operacija poput dodatka 4 iz gornjeg koda, što je korisno kada je jedna od varijabli korištenih u operaciji uvijek ista.
5. Podizanje
Podizanje znači nešto podići. isticanje u JavaScriptu također znači isto i ono što se podiže je deklaracija (deklaracije varijable i funkcije).
Deklaracije su mjesta gdje se varijable i funkcije kreiraju s ključnim riječima var
(ne za globalno) i funkcija
.
Nije važno gdje upišete kod za deklaraciju funkcije ili varijable, tijekom ocjenjivanja sve se deklaracije premještaju unutar područja gdje se nalaze (osim u strogom načinu rada). Dakle, moguće je napisati radni kod s kodom za poziv funkcije postavljenim prije deklaracije funkcije.
var ime = 'Velma'; console.log (sayCatchPhrase (ime)); // "Jinkies!" funkcija sayCatchPhrase (ime) phrase = 'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Razor': 'Bingo!', 'He-Man': 'Imam snagu '; povratne fraze [naziv];
6. Mutacija
Mutacija znači promjenu ili modifikaciju. Ako ikada naiđete na riječ mutacija u JavaScriptu, to se vjerojatno odnosi na promjene kroz koje su DOM elementi prošli.
Postoji čak i API nazvan MutationObserver kako bi pratio DOM mutacije dodavanje dječjih elemenata ili promjene atributa elementa. (Više o MutationObserveru možete pročitati u mom postu.)
7. Pragma
Pragma je skraćenica za pragmatične informacije. U običnom engleskom, pragmatičan je pridjev koji znači razuman i praktičan. U programiranju, Pragma odnosi se na kod koji sadrži korisne informacije o kako će prevodilac ili tumač ili asembler obraditi program.
Ne doprinosi ništa samom programskom jeziku i njegova sintaksa može varirati. One utječu samo na ponašanje kompilatora. JavaScript također ima nekoliko pragmi, jedan od njih je strog
.
"koristite strogi";
Prema gore navedenoj pragmi, JavaScript kod će biti izvršen u strogom načinu rada. U strogom načinu rada nije dopuštena loša sintaksa, dizanje nije učinjeno, tihi pogreške su prikazani, itd. To pomaže u pisanje sigurnijeg i optimiziranog JavaScript koda.
8. Sentinel
Sentinela su vojnici koji stoje na straži (Zapamtite one iz X-Men?). U programiranju, stražari su vrijednosti koje se koriste za označavanje kraja petlje ili procesa. Oni se također mogu nazvati “zastave”.
Možete koristiti bilo koju razumnu vrijednost kao stražar. Evo primjera stražari koristi se u JavaScriptu; indexOf
metoda koja vraća -1 (sentinel vrijednost) kada tražena vrijednost nije pronađena u ciljanom nizu. Ispod se nalazi funkcija koja vraća poziciju vrijednosti niza i ako vrijednost nije pronađena, vraća -1.
funkcija getPos (ary, val) var i = 0, len = ary.length; za (; i9. Vanilija
Mislim da su svi prvi sladoledni okusi bili vanilija. Također mislim da ne samo u sladoledu, već u gotovo svim slatkim jelima vrsta vanile standardni okus. Vidio sam nekoliko recepata za kolače u kojima dodaju barem jednu kap u receptu - samo da bi povećali okus.
I to je ono što vanilija je tradicionalni standardni okus. vanilija JavaScript se odnosi na standardni JavaScript - bez okvira. Vanilla se zapravo ne koristi samo za opisivanje standardne verzije JavaScripta već i za druge jezike kao što je CSS.
10. Variadic
Variadic je pridjev koji je stvoren pridruživanjem “varijabla” i “adicity”. “Adicity” je od starogrčkoga, sa značenjem koje je isto što i latinska riječ “arity” (Točka 1 na ovom popisu). Dakle, pojam variadic koristi se izraziti nešto što ima različit broj argumenata.
U JavaScriptu, a variadic funkcija poprima bilo koji broj argumenata. Može se izraditi pomoću
argumenti
svojstvo,primijeniti
metodom i od ES6, operatora širenja. U nastavku slijedi primjer pomoću operatora širenja.test funkcije (… a) console.log (a); test ('a', 'b', 'c', 8, [56, -89]); // izlaz je Array ["a", "b", "c", 8, Array [2]]