Pagrindinis » Kodavimas » Kaip naudoti ES6 šabloną „JavaScript“

    Kaip naudoti ES6 šabloną „JavaScript“

    Programuojant, terminas “pažodinis” nurodo reikšmių žymėjimas kodą. Pavyzdžiui, pažymime eilutės reikšmę su a eilutėje kurie yra dvigubų arba atskirų kabučių simboliai („foo“, „baras“, "Tai yra eilutė!").

    Šablonų literatūra buvo įvesti ECMAScript 6. Jie veikia gana panašiai kaip styginių literatūra; jie gamina šablonų reikšmes ir neapdorotų šablonų vertės, abu yra stygos.

    Tačiau, skirtingai nuo styginių literatūros, šablonų literatūra gali sukurti vertes daugiasluoksnės stygos, ką jūs galite pasiekti eilutėje tik pridėti naujų eilutės simbolių (n).

    Taip pat gali būti šablonų literatūros sukurti eilutes su kitomis vertėmis (gautas iš išraiškų), kurioms jūs turėtumėte naudoti plius operatorius eilutėje („jūsų ID yra:“ + idNo; kur ID numeris yra kintama išraiška su skaitine reikšme).

    Visos šios funkcijos leidžia šablonų literatūrą labiau pasirinkti sukurti eilutės reikšmes.

    Šablonų literatūros sintaksė

    Šablono šrifto ribotuvas yra atgal charakteris (taip pat žinomas kaip „backquote“ simbolis arba sunkus akcentas). Išraiška viduje pažodžiui (kurio vertė yra įvertintas vykdymo metu įtraukta į galutinę vertę, kurią sukuria pažodžiui) garbanoti breketai su prieš dolerio ženklą $.

     „string $ someExpression daugiau eilutės“ 

    Stai keleta šablonų literatūros pavyzdžiai gamybos nepakeistas, pakeistas (išraiškos pakeistos jų įvertintomis vertėmis), ir daugiasluoksnė stygos.

     console.log („hello“); // hello var name = "Joan"; console.log („hello $ name“); // hello Joan console.log („Gerbiami Joan, Sveiki!“); // Gerb. Joan, // Sveiki!. 

    Išvykstančios ir neapdorotos šablono vertės

    Be šablono, „ („backtick“), \ T (backslash), ir $ (dolerio ženklas) turėtų būti išvengta naudojant pabėgti \ T jei jie turi būti įtraukti į jų šablono vertę.

    Pagal numatytuosius nustatymus visos evoliucijos sekos šablone yra ignoruojamas. Jei norite jį įtraukti į išvestį, turite ją naudoti žaliavinio šablono vertė.

     console.log („inline code in markup: kodas“); // inline kodas žymėjime: „code 'var name =" Joan "; console.log (' hello $ name.) / hello $ name. console.log (String.raw'hello $ name. '); // hello \ t. 

    The String.raw metodas išeina žaliavinio šablono reikšmes (šablono raštinės eilutės forma). Pirmiau pateiktame kode - funkcijų skambutis neapdorotas metodas vadinamas “pažymėtas šablonas”.

    Žymėti šablonai

    Žymėtas šablonas yra a funkcija kur, vietoj įprastų skliaustelių (su pasirinktiniais parametrais) be funkcijos pavadinimo, yra šablonas iš kurios funkcija gauna savo argumentus.

    Taigi, vietoj to, kad vadintumėte tokią funkciją:

     foo (ArgumentsForFoo); 

    Tai vadinama tokiu:

     foo'ATemplateStringProvidingArgumentsForFoo '; 

    Funkcija foo yra vadinamas a žymos funkcija. Jo pirmasis argumentas, gautas iš šablono, yra masyvas vadinamas šablono objektas.

    Laikomas šablono objektas (masyvas) visos eilutės reikšmės aiškinama iš šablono ir turi a neapdorotas nuosavybė (kita masyvas) visos neapdorotos (nepavykusios) eilutės reikšmės iš to paties pažodinio.

    Po šablono objekto žymos funkcijos argumentai apima Visi įvertinti išorinių vertybių pateikiami toje pačioje pažodžiui (tuose, kurie yra garbanotose sąvaržose $ ).

    Toliau pateiktame kode foo funkcija sukurta pateikti savo argumentus. Tada ši funkcija vadinama pažymėtame šablone, su šablonu, kuriame yra dvi išraiškos (vardas ir ID).

     var name = "John"; var id = 478; foo'hello $ name. jūsų ID yra: $ id. '; function foo () console.log (argumentai [0]); // Array ["hello", "jūsų ID yra:", "." ] console.log (argumentai [1]); // John console.log (argumentai [2]); // 478 

    Pirmasis pateiktas argumentas yra šablono objektas visus šablonus, interpretuotus iš šablono, antra ir trečia argumentai yra vertinamos vertės išraiškų, vardas ir ID.

    The neapdorotas nuosavybė

    Kaip minėta anksčiau, šablono objektas turi a nuosavybė vadinama neapdorotas kuris yra masyvas, kuriame yra visos neapdorotos (nepavykusios) eilutės reikšmės aiškinama iš šablono. Taip galite pasiekti neapdorotas nuosavybė:

     var name1 = "John", name2 = "Joan"; foo'hello $ name1, $ name2, kaip tu abu? '; function foo () console.log (argumentai [0]); // Array ["hello $ name1,", ", kaip jūs abu?"] Console.log (argumentai [0] .raw); // Array ["hello $ name1,", ", kaip jūs abu?"] Console.log (argumentai [1]); // Joan 
    Naudokite pažymėtų šablonų atvejus

    Žymėti šablonai yra naudingi, kai jums reikia nutraukti eilutę į atskiras dalis, pvz., dažnai tai yra URL, arba analizuojant kalbą. Čia rasite kolekciją čia pažymėti šablonų pavyzdžiai.

    Išskyrus IE, yra šablonų visose pagrindinėse naršyklėse.

    Žemiau galite rasti kai kuriuos žymos funkcijų pavyzdžius skirtingų parašų kurie atspindi argumentus:

     var name = "John"; foo'hello $ name, kaip tu abu? '; bar'hello $ name, kaip tu abu? '; funkcija foo (… args) console.log (args); // Array [Array ["hello", ", kaip jūs abu?"], "John"] funkcijų juosta (strVals,… exprVals) console.log (strVals); // Array ["hello", ", kaip jūs abu?" ] console.log (exprVals); // Array ["John"] 

    Viduje konors baras funkcija, pirmasis parametras (strVals) yra šablono objektas ir antrasis (kuris naudoja išplėstinę sintaksę) yra masyvas, surinktas visos įvertintos ekspresijos vertės iš šablono literatūros, perduotos funkcijai.

    Įdėkite eilutę kartu

    Jeigu nori gauti visą sakinį (kilęs iš pažodinio) žymos funkcijos viduje, susieti visas vertybes masyvų, turinčių šablonų eilutes, ir įvertintų ekspresijos verčių. Kaip šitas:

     funkcija foo (strs,… exprs) // jei yra tam tikrų išraiškų, įtrauktų į pažodinį, jei (exprs.length! == 0) var n = strs.length - 1, rezultatas = "; ; i < n; i++)  result += strs[i] + exprs[i];  result += strs[n]; console.log(result); //"Hello John."  // if there are no expressions included in the literal else console.log(strs[0]);  name = 'John'; foo'Hello $name.'; 

    The strs masyvas visos eilutės rasta pažodžiui ir exprs laiko visos įvertintos ekspresijos vertės iš pažodinio.

    Jei egzistuoja net viena išraiškos reikšmė, susieti kiekvieną matricos reikšmę strs (išskyrus paskutinįjį) su tos pačios indekso verte exprs. Tada pabaigoje pridėkite paskutinę vertę strs masyvas į susietą eilutę, sudarant pilną sakinį tokiu būdu.