Početna » šifriranje » Kako koristiti ES6 predložak literala u JavaScriptu

    Kako koristiti ES6 predložak literala u JavaScriptu

    U programiranju, pojam “doslovan” odnosi se na zapis vrijednosti u kodu. Na primjer, vrijednost stringa ne označavamo s string literal koje su znakovi u dvostrukim ili pojedinačnim navodnicima ("Foo", 'bar', "Ovo je niz!").

    Literali predložaka su uvedene u ECMAScript 6. Djeluju vrlo slično stringovima; oni proizvode vrijednosti predloška i vrijednosti sirovih predložaka, od kojih su oba žice.

    Međutim, za razliku od string literala, literali predložaka mogu proizvesti vrijednosti koje su višeslojni nizovi, nešto što možete postići u literalnom nizu samo pomoću dodavanje novih znakova u retku (\ n) na njega.

    Mogu se koristiti i literali predložaka stvoriti nizove s drugim vrijednostima (izvedeno iz izraza) za koje biste morali koristiti plus operator u literalnom nizu ("vaš ID je:" + idNo; gdje idNo je varijabilni izraz s numeričkom vrijednošću).

    Sve ove značajke čine predložke literalima poželjnijim stvoriti vrijednosti niza.

    Sintaksa literala predložaka

    Razdjelnik literalnog obrasca je backtick ' lik (također je poznato kao znak natrag ili znak naglašavanja). Izraz unutar literala (čija je vrijednost tijekom vremena izvođenja i uključeni u konačnu vrijednost koju je proizveo doslovni) kovrčava zagrada s prethodni znak za dolar $.

     'niz $ someExpression više nizova' 

    Ovdje su neke primjeri literatura predložaka proizvodnju nepromijenjen, supstituirani (izrazi zamijenjeni njihovim procijenjenim vrijednostima) i više obložen žice.

     console.log ( 'halo'); // hello var name = "Joan"; console.log ('hello $ name'); // hello Joan console.log ('Dragi Joan, dobrodošli.'); // Poštovani Joan, // Dobrodošli. 

    Izlazne i sirove vrijednosti predložaka

    U doslovnom obrascu, ' (Backtick), \ (obrnuta kosa crta) i $ znakovi za dolar treba pobjeći koristiti znak za bijeg \ ako se trebaju uključiti u njihovu vrijednost predloška.

    Po defaultu, sve izlazne sekvence u literaturi predložaka su zanemarena. Ako ga želite uključiti u izlaz, trebate ga koristiti vrijednost sirovog predloška.

     console.log ('inline kod u markupu:' code '); // inline kod u markupu:' code 'var name = "Joan"; console.log (' hello name. '); / / hello $ name. console.log (String.raw'hello $ name. '); // hello \ t. 

    String.raw način izlazi sirove vrijednosti predložaka (neobrađeni nizni oblik predložka). U gornjem kodu, poziv funkcije sirov metoda naziva se “označio je predložak”.

    Označeni predlošci

    Označeni predložak je poziva gdje, umjesto uobičajenih zagrada (s dodatnim parametrima) osim naziva funkcije, postoji predložak doslovno iz koje funkcija dobiva argumente.

    Dakle, umjesto da pozovete funkciju kao što je ova:

     foo (ArgumentsForFoo); 

    Zove se ovako:

     foo'ATemplateStringProvidingArgumentsForFoo '; 

    Funkcija foo naziva se a oznaka. Njegov prvi argument primljen od literalnog obrasca je red se zove objekt predloška.

    Objekt predloška (niz) ima sve vrijednosti niza interpretirati iz doslovnog predloška i ima sirov svojstvo (drugi niz) koji vrijedi sve sirove vrijednosti (bez izlaza) iz istog doslovnog.

    Slijedeći objekt predloška, ​​argumenti funkcije oznake uključuju svi procijenjen vanjske vrijednosti prisutni u tom doslovnom (oni zatvoreni u vitičastim zagradama $ ).

    U donjem kodu, foo stvorena je funkcija iznijeti svoje argumente. Funkcija se tada zove u označenom predlošku, s doslovnim predložkom s dva izraza (Ime i iskaznica).

     var ime = "Ivan"; var id = 478; foo'hello $ name. vaš ID je: $ id. '; funkcija foo () console.log (argumenti [0]); // Array ["hello", ". Vaš ID je:", "." ] console.log (argumenti [1]); // John console.log (argumenti [2]); // 478 

    Prvi izlazni argument je objekt predloška noseći sve nizove interpretirane iz literarnog obrasca, drugi i treći argument su vrijednosti izraza, Ime i iskaznica.

    sirov svojstvo

    Kao što je već spomenuto, objekt predloška ima a imenom sirov koji je niz koji sadrži sve sirove vrijednosti (bez izlaza) tumačiti iz doslovnog obrasca. Ovako možete pristupiti sirov nekretnine:

     var name1 = "Ivan", ime2 = "Joan"; foo'hello $ name1, $ name2, kako ste oboje? '; funkcija foo () console.log (argumenti [0]); // Array ["hello $ name1,", ", kako ste oboje?"] Console.log (argumenti [0] .raw); // Array ["hello name1,", ", kako ste oboje?"] Console.log (argumenti [1]); // Joan 
    Koristite slučajeve označenih predložaka

    Označeni predlošci korisni su kada je potrebno razbiti niz u zasebne dijelove, kao što je to često slučaj u URL-u, ili dok analizirate jezik. Naći ćete zbirku ovdje su označili primjere predložaka.

    Osim IE, literalni obrasci su podržan u svim većim preglednicima.

    U nastavku možete pronaći neke primjere funkcija oznaka s različitih potpisa koji predstavljaju argumente:

     var ime = "Ivan"; foo'hello $ name, kako ste oboje? '; bar'hello $ name, kako ste oboje? '; funkcija foo (… args) console.log (args); // Array [Array ["hello", "kako ste oboje?"], "John"] traka s funkcijama (strVals,… exprVals) console.log (strVals); // Array ["hello", "kako ste oboje?" ] console.log (exprvals); // Array ["John"] 

    U bar funkcija, prvi parametar (strVals) je objekt predloška a drugi (koji koristi rasprostranjenu sintaksu) je skup koji se prikuplja sve vrijednosti izraženih izraza iz doslovnog predloška koji je proslijeđen funkciji.

    Spoji niz

    Ako želiš dobiti cijelu rečenicu (izvedeno iz doslovnog) unutar funkcije oznake, spojiti sve vrijednosti nizova koji nose nizove predložaka i vrednovane vrijednosti izraza. Kao ovo:

     funkcija foo (strs,… exprs) // ako postoje izrazi uključeni u literal if (exprs.length! == 0) var n = strs.length - 1, result = "; for (var i = 0 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.'; 

    STRs polje drži sve žice pronađena u doslovnom i exprs drži sve vrijednosti izraženih izraza iz doslovnog.

    Ako postoji čak i jedna vrijednost izraza, spojite svaku vrijednost polja STRs (osim posljednje) s vrijednošću istog indeksa od exprs. Zatim, na kraju, dodajte posljednju vrijednost STRs niz do spojenog niza, formiranje cjelovite rečenice ovuda.