Kā lietot ES6 veidnes literatūru JavaScript
Programmējot šo terminu “burtiski” attiecas uz vērtību apzīmējums kods. Piemēram, atzīmējam virknes vērtību ar a string literal kas ir rakstzīmes, kas ietvertas dubultā vai atsevišķā citātā ("foo"
, 'bārs'
, "Šī ir virkne!"
).
Veidņu literāti tika ieviesti ECMAScript 6. Viņi strādā diezgan līdzīgi stīgu literātiem; tās ražo veidnes vērtības un neapstrādātas veidnes vērtības, abas ir stīgas.
Tomēr, atšķirībā no virknes literātiem, veidnes literāli var radīt vērtības daudzlīniju virknes, kaut ko jūs varat sasniegt virknes izteiksmē tikai pēc jaunu rindu rakstzīmju pievienošana (n
).
Veidnes literāti var arī izveidot virknes ar citām vērtībām (kas iegūti no izteicieniem), par kuriem jums būtu jāizmanto plus operators virknes izteiksmē ("Jūsu ID ir:" + idNo
; kur idNo
ir mainīga izteiksme ar skaitlisku vērtību).
Visas šīs funkcijas padara veidnes literālus priekšroku labākam izveidot virknes vērtības.
Veidņu literātu sintakse
Veidnes burtu atdalītājs ir backtick '
raksturs (zina arī kā backquote rakstzīmi vai smagu akcentu simbolu). Izteiksme burtiski (kura vērtība ir novērtēts izpildīšanas laikā un iekļauti galīgajā vērtībā, ko rada burtiskā vērtība) cirtaini bikšturi ar iepriekšējā dolāra zīme
$
.
"string $ someExpression vairāk virknes"
Te ir daži veidnes literatūras piemēri ražošanu nemainās, aizvietots (izteiksmes aizvietotas ar vērtētajām vērtībām), un daudzkrāsains virknes.
console.log ('hello'); // hello var name = "Joan"; console.log ('hello $ name'); // hello Joan console.log (“Cienījamie Joan, laipni!”); // Dear Joan, // Laipni lūdzam.
Izbēgamas & neapstrādātas veidnes vērtības
Veidlapas burtiskā veidā '
(backtick), \ T
(backslash) un $
(dolāra zīme) rakstzīmes jāizvairās izmantojot glābšanās raksturs \ T
ja tie ir jāiekļauj to veidnes vērtībā.
Pēc noklusējuma visas glābšanas sekas veidnes burtiski ir ignorēts. Ja vēlaties to iekļaut produkcijā, jāizmanto tā neapstrādāta veidnes vērtība.
console.log ('inline kods marķējumā: kods'); // inline kods iezīmē: 'kods' var name = "Joan"; console.log ('sveiki $ name.); / / hello $ name. console.log (String.raw'hello $ name.)) // hello \ t.
The String.raw
metodi izvada neapstrādātas veidnes vērtības (veidnes burtu virkne). Iepriekšminētajā kodā - funkcijas izsaukums neapstrādātas
metodi sauc par “atzīmēta veidne”.
Atzīmētās veidnes
Tagged veidne ir a zvanu kur, parastās iekavās (ar papildu parametriem) papildus funkcijas nosaukumam, tur ir veidnes burtiskā no kuras funkcija saņem argumentus.
Tātad, tā vietā, lai izsauktu šādu funkciju:
foo (ArgumentsForFoo);
To sauc šādi:
foo'ATemplateStringProvidingArgumentsForFoo ';
Funkcija foo
to sauc par tagu funkcija. Tā pirmais arguments, kas saņemts no veidnes teksta, ir masīvs sauc par veidnes objektu.
Tiek saglabāts veidnes objekts (masīvs) visas virknes vērtības iztulkots no veidnes burtiskās un ir a neapstrādātas
īpašums (cits masīvs) visas neapstrādātās (neizbēgamās) virknes vērtības interpretēts no tā paša burtiskā.
Pēc veidnes objekta taga funkcijas argumenti ietver visi novērtēta ārējās vērtības klāt šajā burtiskā valodā (tie, kas iekļauti cirtaini bikšturi) $
).
Turpmāk norādītajā kodā foo
funkcija ir izveidota izsaka savus argumentus. Funkcija tiek izsaukta atzīmētajā veidnes veidā, ar veidnes burtu, kas satur divas izteiksmes (nosaukums
un ID
).
var name = "John"; var id = 478; foo'hello $ name. jūsu ID ir: $ id. '; funkcija foo () console.log (argumenti [0]); // Array ["hello", "jūsu ID ir:", "." ] console.log (argumenti [1]); // John console.log (argumenti [2]); // 478
Pirmais arguments, kas tiek izvadīts, ir veidnes objektu pārnēsājot visas virknes, kas interpretētas no teksta teksta, otrais un trešais arguments ir vērtētās vērtības izteiksmes, nosaukums
un ID
.
The neapstrādātas
īpašums
Kā minēts iepriekš, veidnes objektam ir a īpašums sauc neapstrādātas
kas ir masīvs, kas satur visas neapstrādātās (neizbēgamās) virknes vērtības interpretē no teksta burtu. Tas ir, kā jūs varat piekļūt neapstrādātas
īpašums:
var name1 = "John", name2 = "Joan"; foo'hello $ name1, $ name2, kā jūs abi? '; funkcija foo () console.log (argumenti [0]); // Array ["hello $ name1,", ", kā jūs abi?"] Console.log (argumenti [0] .raw); // Array ["hello $ name1,", ", kā jūs abi?"] Console.log (argumenti [1]); // Joan
Izmantojiet iezīmēto veidņu gadījumus
Atzīmētās veidnes ir noderīgas, kad jums ir nepieciešams pārtraukt virkni atsevišķās daļās, piemēram, bieži vien tas ir URL, vai, analizējot valodu. Jūs atradīsiet kolekciju šeit atzīmēti šablonu piemēri.
Izņemot IE, šablonu literāli ir visās galvenajās pārlūkprogrammās.
Tālāk jūs varat atrast dažus tagu funkciju piemērus dažādiem parakstiem kas pārstāv argumentus:
var name = "John"; foo'hello $ name, kā jūs abi? ”; bar'hello $ name, kā jūs abi? ”; funkcija foo (… args) console.log (args); // Array [Array ["hello", ", kā jūs abi?"], "John"] funkciju josla (strVals,… exprVals) console.log (strVals); // Array ["hello", ", kā jūs abi?" ] console.log (exprVals); // Array ["John"]
Iekš bārs
funkcija, pirmais parametrs (strVals
) ir veidnes objektu un otrais (kas izmanto izplatīto sintaksi) ir masīvs, kas savākts visas novērtētās izteiksmes vērtības no veidnes literālās, kas nodota funkcijai.
Ielieciet virkni kopā
Ja Tu gribi iegūt visu teikumu (atvasināts no burtiskās) tagu funkcijas iekšpusē, sasaistīt visas vērtības masīviem, kuros ir veidnes virknes, un novērtētās izteiksmes vērtības. Kā šis:
funkcija foo (strs,… exprs) // ja ir izteiksmes, kas iekļautas burtiskā, ja (exprs.length! == 0) var n = strs.length - 1, rezultāts = "; 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
masīvs tur visas stīgas atrodams burtiskā un exprs
tur visas novērtētās izteiksmes vērtības no burtiskās.
Ja pat viena ekspresijas vērtība pastāv, sajauciet katru masīva vērtību strs
(izņemot pēdējo) ar vienādu indeksa vērtību exprs
. Pēc tam, beigās, pievienojiet pēdējo vērtību strs
masīvs uz sasaistīto virkni, veidojot pilnīgu teikumu šādā veidā.