JavaScript operator konkatenacije

Operator konkatenacije je jedini operator u JavaScriptu koji radi sa stringovima. Konkatenacija predstavlja povezivanje stringova. Malo zbunjujuće, za konkatenaciju se koristi operator + (plus).

Ovaj operator povezuje dva stringa čime se dobija novi string.

var novo = str1 + str2;
s1 + s2dva stringa se povezuju u jedinstven string

Različiti tipovi

Budite posebno pažljivi kada koristite ovaj operator. U nekim situacijama možemo dobiti neočekivane i netačne rezultate.

Kao što znamo, JavaScript nije strogo tipiziran jezik. Tako se dešava da ista promenljiva tokom izvršavanja programa nekoliko puta promeni tip. Ako nismo veoma pažljivi, može se desiti da u nekom trenutku promenljiva ima string (tekstualnu) vrednost na mestu gde očekujemo broj.

Ovo posebno dolazi do izražaja kod operatora konkatenacije. Pošto se koristi znak + (plus), koji se koristi i za sabiranje, može se desiti da se u nekom trenutku umesto sabiranja izvrši "nadovezivanje" stringa na string.

Pošto JavaScript pokušava da se na najbolji način izbori sa "netipiziranim" promenljivama, koliko god je moguće u pozadini vrši konverzije vrednosti, pa tako može da se desi da dobijemo netačan rezultat a nikakvu poruku o grešci. Ovo posebno smeta programerima koji su došli iz strogo tipiziranih okruženja i koji su navikli da ih kompajler upozori svaki put kada pokušaju da rade sa neadekvatnim tipovima.

Konkatenacija


  var prom = "Doživljaji ";
  
  var r1 = prom + "Toma" + " " + "Sojera";      // "Doživljaji Toma Sojera"
	

Ovo je ilustracija problema koji se javlja kada pokušamo da saberemo dve vrednosti očekujući da su brojevi, a desi se da jedan od njih ili oba budu stringovi.


  var r1 = 10 + 6;      // 16
  var r2 = "10" + 6;    // "106"
  var r3 = 10 + "6";    // "106"
  var r4 = "10" + "6";  // "106"
	
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.