12 JavaScript togafiti e misia e le tele o aʻoaʻoga
Ina ua amata ona ou aʻoaʻoina le JavaScript, o le mea muamua na ou faia o le faia lea o se lisi o togafiti na fesoasoani ia te aʻu e sefe ai le taimi. Na ou vaʻaia i latou mai isi tagata fai polokalame, i luga o nofoaga eseese ma tusi lesona.
I lenei tusiga, o le a ou faʻaali atu ia te oe 12 auala sili e faʻaleleia ma faʻavave ai lau code JavaScript. I le tele o tulaga latou te fa'asalalau.
Matou te faʻamanatu atu ia te oe:mo tagata faitau uma o le "Habr" - o se faʻaitiitiga o 10 rubles pe a lesitala i soʻo se vasega Skillbox e faʻaaoga ai le code promotional "Habr".
O le Seti mea faitino na faʻafeiloaʻi i le ES6, faʻatasi ai ma le ..., faʻasalalau faʻasalalauga, e mafai ona tatou faʻaogaina e fatu ai se laina fou e aofia ai naʻo tulaga taua.
I se tulaga masani, e manaʻomia le tele o code e faʻatino ai le gaioiga tutusa.
O lenei metotia e aoga mo faʻasologa o loʻo i ai ituaiga muamua: le faʻamalamalamaina, null, boolean, manoa ma numera. Afai o loʻo e galue ma se faʻasologa o loʻo i ai mea faitino, galuega, poʻo faʻaopoopoga faʻaopoopo, e te manaʻomia se isi auala.
Umi o le fa'asologa o le cache i ta'amilosaga
T'amilosaga
A e aʻoaʻoina mo faʻamaufaʻailoga, e te mulimulitaʻia le faiga masani:
for (let i = 0; i < array.length; i++){
console.log(i);
}
Ae ui i lea, faatasi ai ma lenei syntax, o le mo le matasele e siaki pea le umi o le laina taʻitasi.
O nisi taimi e mafai ona aoga lenei mea, ae i le tele o tulaga e sili atu ona lelei le teuina o le umi o le laina, lea o le a manaʻomia ai se tasi avanoa i ai. E mafai ona tatou faia lenei mea e ala i le faʻamalamalamaina o se fesuiaiga umi lea tatou te faʻamalamalamaina ai le fesuiaiga i, pei o lenei:
for (let i = 0, length = array.length; i < length; i++){
console.log(i);
}
I le mataupu faavae, toetoe lava tutusa ma luga, ae o le faateleina o le matasele tele o le a tatou maua se taimi taua sefe.
Fa'ailoga ta'avale pupuu (McCarthy rating)
FA'AVAE FA'AVAE
O le ternary operator o se auala vave ma lelei e tusi ai faʻamatalaga faigofie (ma o nisi taimi e le faigofie tele):
x> 100? “sili atu i le 100”: “itiiti ifo i le 100”;
x> 100? (x>200? "sili atu i le 200": "i le va o le 100-200"): "itiiti ifo i le 100";
Ae o nisi taimi e oʻo lava i le ternary operator e sili atu le lavelave nai lo le manaʻomia. E mafai ona matou faʻaogaina 'ma' && ma 'poʻo' nai lo || Boolean operators e iloilo nisi faʻamatalaga i se auala sili atu ona puʻupuʻu. E masani ona taʻua o le "short circuit" poʻo le "short circuit rating".
E faapefea e lenei galuega
Fa'apea tatou te manana'o e toe fa'afo'i na'o le tasi o le lua pe sili atu tulaga.
O le fa'aaogaina o le && o le a toe fa'afo'i ai le tau fa'asese muamua. Afai e su'esu'e ia operand ta'itasi i le sa'o, ona toe fa'afo'i lea o le fa'amatalaga mulimuli na iloiloina.
let one = 1, two = 2, three = 3;
console.log(one && two && three); // Result: 3
console.log(0 && null); // Result: 0
Fa'aaogaina || o le a toe faʻafoʻi le tau moni muamua. Afai e su'esu'e ia operand ta'itasi i le sese, ona toe fa'afo'i lea o le tau su'esu'e mulimuli.
let one = 1, two = 2, three = 3;
console.log(one || two || three); // Result: 1
console.log(0 || null); // Result: null
faataitaiga 1
Faapea tatou te mananao e toe faafoi le umi o se fesuiaiga, ae tatou te le iloa lona ituaiga.
I lenei tulaga, e mafai ona e faʻaogaina pe / seisi e siaki ai o le foo o le ituaiga saʻo, ae o lenei metotia atonu e umi tele. O le mea lea, e sili atu le ave o la tatou "vaʻa puʻupuʻu".
return (foo || []).length;
Afai e talafeagai le umi o le foo fesuia'i, ona toe faafoi mai lea. A leai o le a tatou maua le 0.
faataitaiga 2
Na iai ni fa'afitauli i lou mauaina o se mea fa'amoega? Atonu e te le iloa pe iai se mea po'o se tasi o ona vaega laiti, ma e mafai ona o'o atu ai i fa'afitauli.
Mo se fa'ata'ita'iga, matou te manana'o e fa'aoga le meatotino fa'amaumauga i lenei.state, ae e le'i fa'amalamalamaina fa'amaumauga se'i vagana ua toe fa'afo'i mai e le matou polokalame se talosaga fetch.
Fa'alagolago i le mea tatou te fa'aogaina ai, vala'au this.state.data e ono taofia ai le talosaga mai le amataina. Ina ia foia le faʻafitauli, e mafai ona matou afifiina i se faʻamatalaga faʻapitoa:
O se filifiliga sili atu o le faʻaaogaina lea o le "poʻo" faʻaoga.
return (this.state.data || 'Fetching Data');
E le mafai ona matou suia le code i luga e faʻaaoga ai &&. Ole 'Fetching Data' && this.state.data operator o le a toe fa'afo'i le this.state.data tusa lava pe le'o fa'amalamalamaina pe leai.
filifili filifili
Atonu e fautuaina e se tasi le fa'aogaina o filifili filifili pe a taumafai e toe fa'afo'i se fanua i totonu o se fausaga o la'au. O lea la, o le faailoga fesili? e mafai ona fa'aaoga e toe aumai ai se meatotino pe afai e le null.
Mo se faʻataʻitaʻiga, e mafai ona matou toe faʻaleleia le faʻataʻitaʻiga o loʻo i luga e maua ai lenei.state.data?..(). O lona uiga, e toe fa'afo'i fa'amaumauga pe a le fa'aleaogaina le tau.
Pe, afai e taua pe faʻamatalaina le setete pe leai, e mafai ona matou toe faʻafoʻi atu lenei.state?.data.
Su'e ile Boolean
LILIU IUGA
I le faaopoopo atu i galuega masani a le boolean e moni ma sese, o le JavaScript foi e togafitia isi tulaga taua uma e moni pe sese.
Se'i vagana ua maitauina, o mea taua uma i le JavaScript e moni, sei vagana ai le 0, "", null, undefined, NaN ma, ioe, sese. O mea mulimuli e pepelo.
E faigofie ona tatou fesuiai i le va o le lua e faʻaaoga ai le ! operator, lea e faʻaliliuina ai foi le ituaiga i le boolean.
Atonu ei ai tulaga e fa'aliliuina ai le + o se fa'aoga fa'aopoopo nai lo se fa'aopoopo fa'aopoopo. Ina ia aloese mai lenei mea, e tatau ona e faʻaogaina tildes: ~~. O lenei fa'agaioiga e tutusa ma le -n-1. Mo se faʻataʻitaʻiga, ~ 15 e tutusa ma -16.
O le fa'aaogaina o tildes se lua i se laina e fa'afitia ai le gaioiga ona - (- - n - 1) - 1 = n + 1 - 1 = n. I se isi faaupuga, ~-16 e tutusa ma le 15.
Amata i le ES7, e mafai ona e faʻaogaina le faʻasalalauga faʻapitoa ** e fai ma faʻapuupuu mo malosiaga. E sili atu le vave nai lo le faʻaaogaina o le Math.pow(2, 3). E foliga mai e faigofie, ae o lenei vaega o loʻo aofia i le lisi o metotia, talu ai e le o taʻua i soo se mea.
console.log(2 ** 3); // Result: 8
E le tatau ona fenumiai ma le ^ faailoga, lea e masani ona faʻaaogaina mo le faʻateleina. Ae i le JavaScript o le XOR operator lea.
Aʻo leʻi oʻo i le ES7, o le ** ala 'alo e mafai ona faʻaaogaina mo malosiaga o le faʻavae 2 faʻaaoga le bitwise left shift operator <<:
Math.pow(2, n);
2 << (n - 1);
2**n;
Mo se faʻataʻitaʻiga, 2 << 3 = 16 e tutusa ma le 2 ** 4 = 16.
Fa'afefe i le numera atoa
GALUEGA / ITIGA LILIUINA
Afai e te manaʻomia le faʻaliliuina o se faʻafefe i se numera, e mafai ona e faʻaogaina Math.floor(), Math.ceil() poʻo Math.round(). Ae o loʻo i ai se auala vave, mo lenei matou te faʻaaogaina |, o lona uiga, le OR operator.
Amioga | fa'alagolago tele pe o lo'o e feagai ma numera lelei pe leaga, o lea e fetaui lelei lenei metotia pe'āfai e te mautinoa i mea o lo'o e faia.
n | 0 aveese mea uma pe a mae'a le vaeluaga o le tesi, tipi le fa'anofoa i se numera.
E mafai ona e maua le a'afiaga fa'ata'amilosaga tutusa e fa'aaoga ai ~~. A mae'a fa'amalosia le liua i se numera, e tumau le tau e le suia.
Aveese numera mulimuli
O le OR operator e mafai ona fa'aoga e aveese so'o se numera o numera mai se numera. O lona uiga tatou te le mana'omia le faaliliuina o ituaiga e pei o iinei:
let str = "1553";
Number(str.substring(0, str.length - 1));
E mafai ona fa'aogaina fa'amatalaga arrow ES6 i metotia a le vasega, ma o lo'o fa'atusalia le fusifusia. O lona uiga e mafai ona e fa'atofa atu i fa'amatalaga toe fai fa'apei.myMethod = this.myMethod.bind(this)!