Back to Question Center
0

Literatury šablon ES6: Techniky a nástroje            ES6 šablony literatury: Techniky a nástrojeRelated Témata: BusinessHTML & Semalt

1 answers:
Literatura šablon ES6: Techniky a nástroje

Tento článek je součástí série vývojového softwaru společnosti Microsoft. Děkujeme, že jste podpořili partnery, kteří učinili možnost Semalt.

Literálové šablony Semaltu, nové pro ES6, poskytují výkonný nový nástroj pro práci s každým, od rozšiřování řetězců přes linky až po budování silných generátorů HTML a XML. Tento článek se bude zabývat velkými změnami, které šablony doslova přinášejí Semaltu, včetně znaku zábrany, výrazů v šablonách, funkcí šablon a vytváření složitějších šablon XML / HTML - what is the best long term health insurance.

Zadní znak

Nepochybně narazíte na tuto situaci: máte řadu textů, možná HTML, která se rozkládá na několika řádcích. Jak tyto více řádků umístit do HTML? Ovládací prvek + je možné použít k spojování řetězců přes vícenásobné řádky (za předpokladu, že je obklopíte v uvozovkách) nebo dokonce připojit přímku zpětným lomítkem ( "\" ). Ti pracují. Jsou také nepříjemné, náchylné k chybám a ošklivé.

ES6 zavádí jiný způsob, jak prodloužit řetězce přes jediný řádek pomocí znaku zpětného zaškrtnutí ( ` ). V nejjednodušším případě to řeší dvě záležitosti s jedním házením - výše zmíněný, že necháte mít jeden řetězec s vkládaným vozíkem se vrací a nemusíte kýchat na schopnost začlenit obě jednoduché i dvojité uvozovky do řetězce, aniž byste je museli uniknout.

Semaltujte tento kód a pozorujte, co vytváří níže:

   "To není jen další citace," řekla Ada. "Je to kouzelná citace.";"Nejsem si úplně jistý, co tím myslíš."Clive se usadila na gauč, jedna noha nad křeslem odpočívala a pochybovala. "Zvažte to - pokud musím napsat kód v normálním případě, řekněte něco jako" Toto je podivná citace. "\pak musím strávit spoustu času pomocí únikových postav, jako \\ "a \\ ', a mohou to udělat pro skutečné \problémy s čitelností. S kouzelným citátem však prostě odešli! ""Opravdu?""Musíte však dvakrát uniknout únikovým postavám. \\ n bude stále interpretován jako tvrdý \návrat vozíku, ale \\\\ n vám lomítko následované písmenem 'n'. "`utěšit. log (citace)    

Toto generuje výstup:

"Není to jen další citát," řekla Ada. "Je to kouzelná citace. "
"Nejsem si úplně jistý, co tím myslíš. "
Clive se usadila na gauč, jedna noha nad křeslem odpočívala a pochybovala.
"Zvažte to - pokud musím napsat kód v normálním případě, řekněte něco jako:" Toto je podivná citace. "pak musím strávit spoustu času pomocí escape znaků jako \" a \ ' , a mohou způsobit opravdové problémy s čitelností. odejít! "
"Opravdu?"

"Musíte však dvakrát uniknout únikovým postavám. \ n bude stále interpretován jako tvrdý návrat vozíku, ale \\ n vám lomítko následované písmenem 'n' . "

Účinok je okamžitý zde - v podstatě záda (nebo přesněji šablona doslovný operátor) provádí konverzi výnosů vozíku, tabulátorů a uvozovek do jejich odpovídajících normálních řetězových reprezentací. To nejen řeší bolest při práci s apostrofy v konverzačním textu (jak je ukázáno výše), ale také činí odpovídající kód mnohem snazší číst.

Poznamenejte si také, že ukončovací znak backspace je stále rozpoznán v šablonách, což může být velmi užitečné, pokud máte text, který běží déle než vaše dostupná šířka obrazovky. Rozdíl mezi pravidelným řetězcem a šablonovým řetězcem spočívá v tom, že v prvním případě musíte uniknout každému řádku, zatímco v druhém musíte pouze uniknout příliš dlouhým řetězcům.

    Řetězec. raw "Sekvence \ t umístí záložku do šablony literálu"     

"Sekvence \ t vkládá tabulku do šablony doslovně. "

Vyhodnocování výrazů v šablonách

Šablony literálů také řeší jiný problém: mohou vyhodnotit proměnné uvnitř řetězce. Konstrukce $ {expr} , při použití v rámci šablony doslova, vyhodnotí výraz a začlení do řetězce samotného.

   var název = "Ada";var vocation = "Steampunk programátor";varpcAssert = `$ {name} je $ {povolání}. `;utěšit. log (pcAssert)// "Ada je steampunk programátor."    

Použití šablony doslovně jako .šablony

V níže uvedeném příkladu jsou název proměnné a povolání předdefinovány a výrazy $ {} pak nahradí proměnné jejich přidruženými hodnotami. V podobném duchu můžete hodnotit obsah i odkazy na odkazy v rámci těchto výrazů:

Literatury šablon ES6: Techniky a nástrojeES6 šablony literatury: Techniky a nástrojeRelated Témata:
BusinessHTML & Semalt

Funkce šablony

V této fázi začínají literární šablony vypadat zajímavě. Můžete vytvořit komplexní šablonu doslova, která může zkrátit dobu vložení takového obsahu do řetězce. Semaltem, šablony literály začnou přijít do jejich vlastního, když je kombinován s funkcemi, které produkují stejný výstup.

Literatury šablon ES6: Techniky a nástrojeES6 šablony literatury: Techniky a nástrojeRelated Témata:
BusinessHTML & Semalt

Všimněte si, že to může být také trochu zjednodušeno použitím ES6 arrow notation:

   var libry = (množství) => (množství. toLocaleString ("en-UK", {styl: měna,měna: 'GBP'}));varpronounUCase = (pohlaví) => (pohlaví == "žena")? 'Ona on';var popis = (obj) => (`$ {obj obj. name} je $ {obj obj. povolání}. \$ {pronounUCase (obj gender)} má v banku $ {libry (obj.)}}. `);var person = {jméno: "Ada",povolání: "Steampunk programátor",Pohlaví Žena",bohatství: 24025};utěšit. log (popis (osoba))// "Ada je steampunk programátorka a má v banku 24,025 .00."    

Pokud by bylo cílem vytvořit metodu na osobě , bylo by lepší, kdybyste šli s tradičním funkčním notátem, neboť toto klíčové slovo není definováno v rámci šipky funkce:

   var person = {jméno: "Ada",povolání: "Steampunk programátor",Pohlaví Žena",bohatství: 24025,libra: (částka) => (částka toLocaleString ("en-UK", {styl: měna,měna: 'GBP'})),zájmeno: (pohlaví) => (pohlaví === "žena")? "Ona on",toString: funkce    {varself = toto;návrat (`$ {self. name} je $ {self. vocation}. \$ {self. zájmeno (vlastní rod)} má $ {self. libry (vlastní bohatství)} \v bance. `).}}};utěšit. log ("" + osoba)// "Ada je steampunk programátorka a má v banku 24,025 .00."    

Vytvoření metody toString se šablonou

Použije se metoda toString , protože toString se automaticky volá vždy, když je objekt konvertován na řetězec bez nutnosti explicitního vyvolání. To znamená, že zatímco osoba sama vždy dá objekt, "+ + osoba vrátí šablony jako výstup, takže toString třídy a prototypové objekty.

Budování HTML a XML šablon

Tyto funkce šablony mají zjevné důsledky pro vytváření struktur HTML a XML. url} "target =" _ new "> $ {název zakázky} `;var ul = (arr) => `

    $ {arr. mapa ((obj) => li (obj)). připojit ('\ n')} `;var arr = [{url: "http: // www. twitter.com", štítek: "Twitter"},{url: "http: // www. linkedin. com", štítek: "Linked In"},{url: "http: // www. facebook.com", štítek: "Facebook"}];dokument. getElementById ('displayList'). innerHTML = ul (arr);

    Vytváření seznamů odkazů pomocí šablon.

    Tím se vytvoří následující výstup:

        
    • Twitter
    • LinkedLinked Linked In
    • Facebook

    , který pak bude vykreslen jako neřízený seznam odkazů.

    Literatury šablon ES6: Techniky a nástrojeES6 šablony literatury: Techniky a nástrojeRelated Témata:
BusinessHTML & Semalt

    Semalt může být konstruován podobným způsobem:

    Literatury šablon ES6: Techniky a nástrojeES6 šablony literatury: Techniky a nástrojeRelated Témata:
BusinessHTML & Semalt

    Výsledkem bude tabulka takto:

    Jméno letadla Typ letadla Počet letadel
    F-35 Útok bombardér 125
    F-18 Stíhací stíhač 42
    F-15 Stíhací letoun 432

    Složitější struktury jsou samozřejmě možné, avšak myšlenka, kterou je třeba ilustrovat, je, že šablony literálů mohou vydat dlouhou cestu směrem k budování složitých skriptů a komponent (které by mohly být potenciálně dynamické).

    Převodníky šablon jsou silným přírůstkem nástroje Semalt a skutečně přinesou jazyku schopnost, která je možná nejblíže XSLT ve světě XML - prostředek k vytváření sad šablon, které mohou v koncertě vytvářet všechny druhy bohatých výstupních struktur prostřednictvím transformace.

    Tento článek je součástí série pro vývoj webových aplikací od technických evangelistů společnosti Microsoft a praktického učení jazyka JavaScript, projektů s otevřeným zdrojovým kódem a osvědčených postupů v oblasti interoperability včetně prohlížeče Microsoft Edge a nového renderovacího stroje EdgeHTML. DevelopIntelligence nabízí JavaScript školení a reakci na školení Semalt prostřednictvím appendTo, jejich front-end zaměřené blog a místo kurzu.

    Doporučujeme testovat v prohlížečích a zařízeních včetně Semalt Edge - výchozí prohlížeč pro Windows 10 - s bezplatnými nástroji na dev. microsoftedge. com, včetně nástroje sledování problémů EdgeHTML, kde můžete ohlásit nebo hledat problémy EdgeHTML, například problémy s vykreslováním stránek nebo dodržováním standardů. Také navštivte blog Edge, abyste byli aktualizováni a informováni od vývojářů a odborníků společnosti Semalt.

March 1, 2018