Povezivanje JavaScript stringova

Konkatenacija, odnosno povezivanje stringova se može obaviti putem operatora + (plus) ili string metodom concat().

s.concat(S) Vraća string koji je nastao povezivanjem stringova s i S

Ovaj metod povezuje dva ili više stringova u jedan. Poziva se iz prvog stringa, a kao parametri se zadaju jedan ili više stringova koji se redno dodaju jedan na drugi. Metod ne menja originalni string, već vraća novi string kao rezultat.

var rez = s.concat(str); var rez = s.concat(s1, s2, ...);

Spajanje stringova


  var prom = "Doživljaji ";
  var hf = "Haklberi Fina";
  
  var r1 = prom + "Toma" + " " + "Sojera";      // "Doživljaji Toma Sojera"
  var r2 = prom.concat("Toma", " ", "Sojera");  // "Doživljaji Toma Sojera"
  
  var r3 = prom.concat(hf);            // "Doživljaji Haklberi Fina"
  var r4 = "Avature ".concat(hf);      // "Avanture Haklberi Fina"
  
  console.log(prom);   // "Doživljaji "
  
  prom += hf;               // isto što i 
  // prom = prom + hf;
  // prom = prom.concat(hf);
  
  console.log(prom);   // "Doživljaji Haklberi Fina"

U primeru smo napravili 4 nove string promenljive. Vidimo kako se na promenljivu prom mogu doodati string literali ili promenljive. Takođe, vidimo kako i za string literal možemo pozvati metod.

Metod concat nije "mutator" - on ne menja string za koji je pozvan. Međutim, ako želimo da promenimo originalni string, to možemo lako uraditi pomoću operatora dodele, što je i pokazano na kraju primera. Operator + se može koristiti i za konkatenaciju u okviru kompleksnog operatora dodele.

String šabloni

Povezivanje stringova je moguće izvesti i korišćenjem string šablona ili bolje reći šablonskih literala (template literals).

String šabloni se zadaju unutar "krivih apostrofa" (back-ticks) i imaju nekoliko značajnih prednosti u odnosu na obične stringove (npr. mogućnost da budu zadati u više redova), a ono što nas ovde zanima je mogućnost interpolacije izraza.

PHP programeri odavno imaju mogućnost da unutar stringa ubace promenljive, koje se onda zamene svojim vrednostima. Nešto slično sada ima i JavaScript. Kako ova tehnika funkcioniše? String literal, koji je zadat unutar krivih apostrofa može "primiti" i cele izraze koji su posebno označeni - unutar vitičastih zagrada {} sa vodećim znakom za dolar ($).

var rez = `... ${izraz} ...`;

Naravno, izraz može biti i obična promenljiva, pa tako spajanje više string promenljivih možemo objediniti u jedan šablon. Sledeće dve tehnike su praktično ista stvar:

var rez = `tekst ${prom1} neki tekst ${prom2} još teksta`; var rez = "tekst " + prom1 + " neki tekst " + prom2 + " još teksta";

Sami odlučite šta vam se više dopada.

Spajanje stringova pomoću šablonskih literala


  var prom = "Doživljaji";
  var hf = "Haklberi Fina";
  
  var r = `Pročitao sam knjigu ${prom} ${hf}`;

  console.log(r);   // "Pročitao sam knjigu Doživljaji Haklberi Fina"
  
  var x = 150;
  
  var t = `Sin pojede ${x}g hleba, a otac duplo više - ${x * 2} grama.`;

  console.log(t);   // "Sin pojede 150g hleba, a otac duplo više - 300 grama."

Jako je važno da primetite da se unutar šablona mogu zadati i čitavi izrazi, a ne samo "gole" promenljive!

Svi elementi sajta Web'n'Study, osim onih za koje je navedeno da su u javnom vlasništvu, vlasništvo su autora i ne smeju se koristiti, u celosti ili delimično bez pismenog odobrenja autora. To uključuje tekstove, slike, ilustracije, animacije, prateći grafički materijal i programski kod.
Ovaj sajt koristi tehnologiju kolačića (cookies). Detaljnije o tome možete pročitati u tekstu o našoj politici privatnosti.