Mal Literals i JavaScript | Forklart

Mal Literals i JavaScript | Forklart
JavaScript er et nettprogrammeringsspråk på høyt nivå som gir oss strengdatatype der vi kan lagre strenger. Strenger kan implementeres med enkelt sitater eller doble sitater ("eller" ") i JavaScript. var myString = "Hello World!";

Imidlertid er strengdatatypen begrenset og tilbyr ikke mange funksjoner som et programmeringsspråk på høyt nivå (Python, Ruby) gir sine utviklere. Dette problemet ble løst da JavaScript introduserte Mal litteraler I ES6. La oss se hvilke malbilitaler som er i JavaScript i dette innlegget.

Mal litteraler

Mal Literals gir oss muligheten til å jobbe med strenger med mer kontroll og mer kraft over den tradisjonelle strengdatatypen. I motsetning til strenger, bruk av malbaner backticks “ I stedet for enkelt- eller dobbelt anførselstegn som vist nedenfor:

var myString = 'Hello World!';

Noen av funksjonene malstreng gir oss er:

  • Interpolasjon: Tildele variabler og uttrykk i en mal bokstavelig mal.
  • Multiline strenger: Vi trenger ikke /n For å gå til en annen linje, går vi bare til en annen linje i malen Literal og nettleseren vet at den må vise den strengen på en annen linje.
  • Merkede maler: Den endrer malen bokstavelig, og etter å ha endret malen for malen, returnerer den resulterende strengen. Merkede maler er akkurat som funksjoner med unntak av at de kalles uten () parentes.

La oss utforske disse funksjonene en etter en:

Interpolasjon

Variabler og uttrykk kan enkelt interpoleres til strenger ved bruk av mallitteraler. Å legge inn et uttrykk i malen bokstavelig er kjent som Interpolasjon. Vi kan oppnå interpolasjon ved å bruke $ somevar Syntaks. La oss se et eksempel:

var myString = 'Hello World!';
konsoll.log ('Han sa: $ myString');

I koden ovenfor initialiserer vi en variabel og får tilgang til den i en streng ved hjelp av interpolasjonssyntaks. Og for å vise resultatet på konsollen, bruker vi konsollen.Log () Metode:

Multiline strenger

En annen anvendelse av malen bokstavelig er at den gir oss muligheten til enkelt å administrere eller skrive strenger i flere linjer. Før mal litteraler var det litt vanskelig og vanskelig da vi måtte bruke tilbakeslaget i doble sitater for å fortelle nettleseren at strengen skulle være på neste linje. For eksempel:

var myString = "hallo \ n"+"verden!";
konsoll.logg (myString);

I koden ovenfor initialiserte vi en streng og brukt \ n å fortelle nettleseren at strengen etter \ n skal være på neste linje.

La oss nå se hvordan vi kan oppnå den samme funksjonaliteten ved å bruke mal bokstavelig hvor vi ganske enkelt vil skrive den andre strengen på en annen linje:

var myString = 'Hei
Verden!';
konsoll.logg (myString);

Vi kan se at malbiliteralene gjorde det veldig enkelt for oss å skrive multiline strenger, og det er lettere lesbar og forståelig.

Merkede maler

En annen kraftig funksjonsmal Literals gir oss er de merkede malene som ganske enkelt endrer en malstreng ved å legge til et funksjonsnavn til begynnelsen av malstrengen. Med enklere ord endrer en merket mal malen bokstavelig og returnerer den resulterende strengen.

Merkede maler er definert nøyaktig som en funksjon, men når du kaller en malkode, bruker du ikke () parentes. Syntaksen for å initialisere en tagfunksjon er gitt nedenfor:

funksjon tagname (litteraler, ... substitusjoner)
// Returner litt streng

Tagfunksjonen tar to argumenter; Den første er den litteraler som indikerer de bokstavelige strengene og den andre er ... Substitusjoner der de påfølgende inngangene analysert for hver substitusjon er lagret.

La oss nå se på et eksempel for å implementere en tagfunksjon:

// Tag -mal
funksjon mytagname (myString)
returner MyString;

// Opprette merket mal
const output = mytagname'hello name ';
// visningsresultat
konsoll.logg (utgang);

I koden ovenfor har vi laget en funksjon som returnerer en streng. Etter det opprettet vi en merket mal og kalte deretter ovennevnte tag -malfunksjon som syntaksen som ble brukt er: mytagname'hello navn ' der mytagname er malkoden og Hei navn er malen bokstavelig. Til slutt viste vi resultatet ved hjelp av konsollen.Log () Metode:

La oss nå se på et annet eksempel der vi vil passere bokstaver så vel som erstatninger til TAG -funksjonen:

// verdier
La hilsen = "Hei!";
la name = "jhon";
// tag -funksjon
funksjonstransform (litteraler, ... substitusjoner)
konsoll.logg (bokstaver); // ["", " mitt navn er "]
konsoll.logg (substitusjoner); // ["Hello", "Jhon"]

// samtale tag bokstavelig funksjon
transform '$ hilsen Mitt navn er $ name';

I koden ovenfor definerer vi først transformasjons tagfunksjonen som tar inn to argumenter; “Literals” som er en matrise og har statisk innhold (“Mitt navn er”) mens substitusjonene REST -parameter også er en matrise som har alle taggene (hilsen, navn). Utgangen fra ovennevnte kode er vist nedenfor:

Konklusjon

Standard datatypestreng levert av JavaScript var ikke kraftig nok, og derfor introduserte JavaScript Mal Literals i ES6. Mal -bokstaver gir oss mer kraft over strenger og initialiseres ved hjelp av backticks . I dette innlegget så vi hvilke mallitteraler som er i JavaScript sammen med funksjonene Template Literals tilbyr oss over standard JavaScript -streng.