det finns 3 sätt att sammanfoga strängar i JavaScript. I den här handledningen kommer du att de olika sätten och kompromisserna mellan dem.
den + operatör
samma+
operatör som du använder för att lägga till två nummer kan användas för att sammanfoga två strängar.
const str = 'Hello' + ' ' + 'World';str; // 'Hello World'
Du kan också använda+=
, dära += b
är en stenografi föra = a + b
.,
let str = 'Hello';str += ' ';str += 'World';str; // 'Hello World'
om den vänstra sidan av +
– operatören är en sträng, kommer JavaScript att tvinga höger sida till en sträng. Det betyder att det är säkert att sammanfoga objekt, nummer, null
ochundefined
.
let str = 'Values: ';str += 42;str += ' ';str += {};str += ' ';str += null;str; // 'Values: 42 null'
+
och+=
operatörerna är snabba på moderna JavaScript-motorer, så du behöver inte oroa dig för något som Javas StringBuilder-klass.,
Array#join ()
funktionenArray#join()
skapar en ny sträng från att sammanfoga alla element i en array. Till exempel:
.join(''); // 'Hello World'
den första parametern till join()
kallas separatorn. Som standard är theseparator ett enda komma ','
.
.join(); // 'a,b,c'
Du kan passera i vilken separator du vill. Separatorer gör Array#join()
preferredchoice för sammanlänkande strängar om du upptäcker att du upprepar samma tecken om och om igen., Du kan till exempel använda ' '
som separator för att ansluta till en rad ord:
// 'Twas the night before Christmas'.join(' ');
eller så kan du använda '/'
för att sammanfoga URL-fragment:
// 'masteringjs.io/tutorials/fundamentals/string-concat'.join('/');
separatorer gör Array#join()
ett mycket flexibelt sätt att sammanfoga strängar. Om du vill ansluta ett variabelt antal strängar, bör du i allmänhet användajoin()
I stället för enfor
slinga med+
.,
String#concat ()
JavaScript-strängar har en inbyggdconcat()
– metod. Funktionenconcat()
tar en eller flera parametrar och returnerar den ändrade strängen. Strängar i JavaScript är oföränderliga, så concat()
ändrar inte strängen på plats.
nackdelen med att användaconcat()
är att du måste vara säkerstr1
är en sträng.Du kan skicka icke-strängparametrar till concat()
, men du får en TypeErrorifstr == null
.,
// If `str` is null or not a string, can't use `concat()`const str = 'Values: ';// 'Values: 42 null'str.concat(42, ' ', null);
funktionenconcat()
används sällan eftersom den har fler felfall än operatören+
. Till exempel skulle du få oväntat beteende om du anropar concat()
på ett värde som råkar vara en array. Du bör använda +
istället för concat()
om du inte har en mycket bra anledning.,
om du måste använda concat()
är det oftast bäst att kalla det på en tom sträng:
''.concat('Hello', ' ', 'World');
fler grundläggande Tutorials
- globala variabler i JavaScript
- hur man kontrollerar ” NaN ” i Javascript
- JavaScript Enums
- JavaScript Trim String
- så här filtrerar du ett objekt med JavaScript
- hur du använder foreach() i JavaScript
- jämför två datum, ignorerar tiden, i JavaScript