JavaScript Jargon 10 tingimused, mida peaksite teadma
Alates karri kuni sulgemist on olemas palju JavaScripti žargoneid (erilised sõnad, mida kasutatakse valdkonnas), teades, mis mitte ainult ei aita teil oma sõnavara suurendada, vaid mõistab ka JavaScripti paremini. Jargoneid leidub tavaliselt dokumentides ja tehnilistes artiklites. Aga mõned neist meeldivad sulgemist on üsna tavalised asjad, millest teada saada. Teades, mida see sõna ise tähendab, saate aidata paremini mõista seda mõistet.
See postitus on 10 sellist tingimust koos nende tähendus ja kontekstis, milles neid kasutatakse JavaScriptis. Kui oled algaja, siis on see nimekiri suletud põhitõedega tõstmine. Samas sisalduvad ka vähem tuntud või vähem mõistetavad terminid.
- Arity
- Anonüümne
- Sulgemine
- Currying
- Tõstmine
- Mutatsioon
- Pragma
- Sentinel
- Vanilje
- Variadic
1. Ausus
Arity (ladina keelest) on termin, mida kasutatakse vastavalt funktsiooni või operatsiooni argumentide või operandide arvule. Teil on tõenäoliselt see sõna Java-domeenis, kui seda kasutatakse JavaScript-funktsioonilt oodatavate argumentide arv.
On isegi vara, mis on nimega arity Funktsioon
objekt, mis tagastab funktsioonis eeldatavate argumentide arvu. See on nüüd vananenud ja asendatud versiooniga pikkus
.
Järgmise funktsiooni ariteet on 3.
funktsioon getName (esimene, keskmine, viimane) tagasi esimene + "+ keskmine +" + viimane;
2. Anonüümne
Anonüümne on omadussõna. Kui midagi või kedagi nimetatakse anonüümseks, tähendab see, et asja või isiku nimi on tundmatu. Samamoodi on JavaScript anonüümne funktsioon, mida nime ei tuvasta.
(funktsioon () // body) ();
Eespool on IIFE (koheselt käivitatud funktsiooni väljendus). Funktsioon selles on anonüümne, kuna sellel ei ole nime. Vaadake nüüd allolevat.
var foo = funktsioon () ;
See on ka anonüümne funktsioon, kuna võtmesõna järele pole nime funktsiooni
.
Vähe kahtlust tõuseb sõna õigsuses “anonüümne”. IIFE-ga kutsutakse funktsioon kohe välja, nime pole kaasatud, samas kui viimast funktsiooni nimetatakse süntaksiks foo ()
kasutatakse.
See on nagu me ristisime nimeta funktsiooniga nimega "foo" ja kutsusime seda seda kasutama. Kas see loetakse anonüümseks? Ma ei tea, ma jätan selle inglise ekspertide juurde. Aga minu segadust kõrvale nimetatakse neile mõlemat kui anonüümset funktsiooni.
3. Sulgemine
Siin on üks Oxfordi sõnastiku definitsioonidest sulgemine: “Asi, mis sulgeb või pitseerib midagi, näiteks kork või lips.”
JavaScriptis on sulgemine sisemine funktsioon, mis on kättesaadav väljaspool selle välise funktsiooni ulatust ja seos väliste funktsioonide muutujatega veel puutumata.
Asjade selgitamiseks (võib-olla mitte piisavalt täpselt, vaid piisavalt) kaaluge sulgemine kelnerina restoranis. Restorani köögis toimub palju asju, kus meil ei ole lubatud siseneda ega näha. Aga kuidas me siis toitu saame?
See on koht, kus kelnerid tulevad. Me nimetame neid, tellime toitu ja siis lähevad nad kööki, teavitavad kokkade käske ja toovad selle meile, kui tellimus on valmis. Nii me ei ole ühtegi murdnud “eeskirjad” ja suudab ikkagi õhtusöögi haarata.
Kelner on keegi, kes suudab meie tellimuse kööki sisse võtta ja koos toiduga naasta. JavaScript sulgemist on sarnased, nad suudavad võtke meie parameetrid ja tuua meid tagasi muutujad (viited nendele muutujatele, täpselt) sisemisest funktsioonist, mida me ei ole lubatud.
funktsioonide järjekord () var food; funktsiooni kelner (tellimus) kokk (tellimus); toidu tagastamine; funktsiooni peakokk (järjekord) if (tellimus === 'pasta) food = [' pasta "," kastmes "," maitsestamine "]; kokk (); funktsioon cook () food.push ("keedetud"); tagasisaatja; var myOrder = tellimus (); console.log (myOrder ('pasta')); // Array ["pasta", "kastmes", "maitseained", "keedetud"]
Nagu näete ülaltoodud koodist, kõik peale selle kelner
ja selle tagastusväärtus tellimisfunktsiooni sees ei ole väliskeskkonnale avatud.
4. Currying
Haskell Curry nime saanud efekt viitab mitme funktsiooni kasutamine üksikute argumentidega, ühe funktsiooni asemel, millel on mitu argumenti. Vaatame lisama
näiteks allpool.
funktsioon addx (x) funktsioon addy (y) tagasi x + y; return addy funktsiooni lisamine (x, y) return (x + y); console.log (addx (3) (4)); 7 console.log (lisa (3,4)); 7
Mõlemad funktsioonid annavad sama tulemuse. Funktsioon addx
nõustub parameetriga x
naasmisel addy
mis omakorda aktsepteerib y
väärtusega, täidab selle lisamisega x
ja tagastab summa.
Funktsioon lisama
lihtsalt võtab mõlemad x
ja y
samal ajal täidab lisamise ja tagastab summa. Seni ei pruugi esimene funktsioon tunduda väga kasulik, kuni…
var add4 = addx (4); console.log (lisa4 (8)); // 12 console.log (lisa4 (6)); // 10 console.log (lisa4 (-74)); // - 70
Esimene funktsioon muutub äkki huvitavaks. Currying'is saate alati määrata toimingute järjestuse sammu, nagu 4 lisamine ülaltoodud koodist, mis on kasulik siis, kui üks operatsioonis kasutatavatest muutujatest on alati sama.
5. Tõstmine
Hoist tähendab midagi tõsta. Tõstmine JavaScriptis tähendab ka sama ja see, mida tõstetakse, on deklaratsioon (muutuja- ja funktsioonideklaratsioonid).
Deklaratsioonid on need, kus märksõnadega luuakse muutujad ja funktsioonid var
(mitte globaalsete) ja funktsiooni
.
Pole tähtis, kus te koodi või muutuja deklareerimiseks koodi sisestate, hindamise ajal liigutatakse kõik deklaratsioonid ülespoole, kus nad asuvad (välja arvatud ranges režiimis). Seega on võimalik enne funktsiooni deklaratsiooni sisestamist sisestada funktsionaalse kõne koodiga töö kood.
var name = 'Velma'; console.log (sayCatchPhrase (nimi)); // "Jinkies!" funktsioon sayCatchPhrase (nimi) fraasid = 'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Razor': 'Bingo!', 'He-Man': 'Mul on võim '; tagastamislaused [nimi];
6. Mutatsioon
Mutatsioon tähendab muutust või muutmist. Kui teil on kunagi sõna "mutatsioon" JavaScriptis, viitab see ilmselt DOM elementide muutustele.
DOM-mutatsioonide sarnase jälgimise jaoks on isegi API nimega MutationObserver laste elementide lisamine või elemendi atribuutide muutmine. (MutationObserveri kohta saate rohkem teada minu postitusest.)
7. Pragma
Pragma on pragmaatilise teabe jaoks lühike. Inglise keeles on pragmaatiline omadussõna, mis tähendab mõistlikku ja praktilist. Programmeerimisel, pragma viitab koodile, mis sisaldab kasulikku teavet kuidas kompilaator või tõlk või programmeerija peaks programmi töötlema.
See ei aita midagi programmeerimiskeele ise ja selle süntaks võib erineda. Need mõjutavad ainult kompilaatori käitumist. JavaScriptil on ka vähe pragmasid, üks neist on ranged
.
"kasuta ranget";
Eespool nimetatud pragma järgi täidetakse JavaScript-kood ranges režiimis. Ranges režiimis ei ole halb süntaks lubatud, tõstmine pole tehtud, näidatakse vaikseid vigu jne. See aitab sisse turvalise ja optimeeritud JavaScripti koodi kirjutamine.
8. Sentinel
Sentinels on sõdurid, kes seisavad valvajana (mäletage X-Meni?). Programmeerimisel, sentinellid väärtused, mida kasutatakse silmuse või protsessi lõppu näitamiseks. Neid võib nimetada ka “lipud”.
Võite kasutada mis tahes mõistlikku väärtust a sentinell. Siin on näide sentinellid kasutatakse JavaScriptis; the indeks
meetod, mis tagastab -1 (sentinel-väärtuse), kui otsinguväärtus ei ole sihitud stringis leitud. Allpool on funktsioon, mis tagastab massiivi väärtuse ja kui väärtust ei leita, tagastab -1.
funktsioon getPos (ary, val) var i = 0, len = ary.length; jaoks (; i9. Vanilje
Ma arvan, et igaühe esimene jäätise maitse peab olema vanill. Ma arvan, et see ei ole mitte ainult jäätises, vaid päris palju iga magusat tassi vanillist the standardne maitse. Ma olen näinud üsna vähe kooki retsepte, kus nad lisavad segusse vähemalt ühe tilga - lihtsalt maitse suurendamiseks.
Ja see ongi vanilje on traditsiooniline maitse. Vanilje JavaScripti viitab standardsele JavaScript-ile - puudub raamistik. Vanillat kasutatakse mitte ainult JavaScripti standardversiooni kirjeldamiseks, vaid ka muudeks keelteks nagu CSS.
10. Variadic
Variadic on omadussõna, mis on loodud liitumisel “muutuja” ja “adicity”. “Adicity” on pärit iidse kreeka keelest, mille tähendus on sama kui ladina keeles “ausus” (Punkt 1 selles nimekirjas). Seega termin variadiline on harjunud väljendada midagi, millel on muutuv arv argumente.
JavaScriptis: a variadiline funktsioon võtab vastu mitmeid argumente. Seda saab luua kasutades
argumente
vara,kohaldatakse
ja ES6, levinud operaator. Allpool on näide hajutatud operaatori kasutamisest.funktsiooni test (… a) console.log (a); test ('a', 'b', 'c', 8, [56, -89]); // väljund on Array ["a", "b", "c", 8, Array [2]]