JavaScripti stringivorming - kuidas kasutada stringi interpoleerimist JS-is

Malli literaalide lisamine ECMAScript 6 (ES6) võimaldab meil stringe interpoleerida JavaScriptis.

Lihtsamalt öeldes võime muutujate stringi sisestamiseks kasutada kohatäiteid. Näete stringide interpoleerimist, kasutades malli literaale, leiate allolevast koodilõigust:

const age = 4.5; const earthAge = `Earth is estimated to be ${age} billion years old.`; console.log(earthAge); 

Kõigepealt näete, et kasutame malli literaalide jaoks tagasilööke. Peale selle on meil ka formaat ${placeholder}, mis võimaldab meil stringi lisada dünaamilise väärtuse. Kõike selle sees ${}hinnatakse JavaScripti.

Näiteks võiksime kirjutada Earth is estimated to be ${age + 10} billion years old.ja see töötaks nii, nagu oleksime seda teinud const age = 4.5 + 10;.

Kuidas me seda enne tegime?

Enne malli literaale oleksime seda teinud nii:

const earthAge = "Earth is estimated to be " + age + " billion years old."; 

Nagu näete, on meil lihtsa stringi jaoks juba palju hinnapakkumisi. Kujutage ette, et peame sisestama käputäie muutujaid. See võib kiiresti muutuda keeruliseks stringiks, mis pole eriti loetav. Seega muudavad malli literaalid stringid puhtamaks ja loetavamaks.

See on siiski vaid üks juhtum. Vaatame rohkem malli literaalide kasutamise juhtumeid.

Mitmerealised stringid

Teine mugav mallistringide kasutamine on mitmerealised stringid. Enne malli literaale kasutasime \nuute ridade jaoks, nagu aastal console.log('line 1\n' + 'line 2').

Kahe rea puhul võib see hästi olla. Kuid kujutage ette, et tahame viit rida. Jällegi muutub string asjatult keerukaks.

const earthAge = `Earth is estimated to be ${age} billion years old. Scientists have scoured the Earth searching for the oldest rocks to radiometrically date. In northwestern Canada, they discovered rocks about 4.03 billion years old. `; 

Ülaltoodud jupp demonstreerib veelkord, kui sirgjooneliseks ja puhtaks muutub mitmerealiste stringide kirjutamine malli literaalidega.

Harjutusena proovige teisendada ülaltoodud string liitmise ja uue rea kasutamiseks \n.

Avaldised

Malli literaalide puhul võime stringides kasutada ka väljendeid. Mida see tähendab?

Näiteks võiksime kasutada matemaatilisi väljendeid, näiteks korrutada kahte arvu. Allolev jupp illustreerib just seda:

const firstNumber = 10; const secondNumber = 39; const result = `The result of multiplying ${firstNumber} by ${secondNumber} is ${firstNumber * secondNumber}.`; console.log(result); 

Ilma malli literaalideta peaksime tegema midagi sellist:

const result = "The result of multiplying " + firstNumber + " by " + secondNumber + " is " + firstNumber * secondNumber + "."; 

Ülalnimetatud stringi kirjutamine võib kiiresti keeruliseks ja segadusse ajada. Nagu me ikka näeme, muudavad malli literaalid avaldiste stringi hõlpsamaks ja elegantsemaks kinnitamise.

Kolmepoolne operaator

Stringide interpoleerimise abil võime stringi sees kasutada isegi kolmekordset operaatorit. See võimaldab meil muutuja väärtust kontrollida ja sõltuvalt sellest väärtusest kuvada erinevaid asju.

Vaatame allpool toodud näidet:

const drinks = 4.99; const food = 6.65; const total = drinks + food; const result = `The total bill is ${total}. ${total > 10 ? `Your card payment will be declined` : `Your card payment will be accepted`}.` console.log(result); 

Ülaltoodud näites kontrollime, kas kogusumma on näiteks üle kümne dollari.

Kui summa on üle kümne, anname kasutajale teada, et kaardimakse lükatakse tagasi. Vastasel juhul aktsepteeritakse kaardimakset. Nagu näete, võimaldab stringide interpoleerimine meil teha stringidega lahedaid asju.

Järeldus

Malli literaalide lisamine ES6-s võimaldab meil kirjutada paremaid, lühemaid ja selgemaid stringe. See annab meile ka võimaluse sisestada suvalisse stringi muutujaid ja väljendeid. Põhimõtteliselt ${}käsitletakse JavaScripti , mida kirjutate lokkisulgudes ( ).

Seega saame malli literaale kasutada:

  • kirjutada mitmerealisi stringe
  • kinnistada väljendeid
  • kirjutage kolmekordsete operaatoritega stringe

Kui teile meeldib see, mida ma kirjutan, on tõenäoline, et teile meeldiks see, mida ma saadan. Kaaluge minu meililistide tellimist. Kui te ei ole uudiskirjade fänn , saame Twitteris alati ühendust pidada .