Istnieją 3 sposoby łączenia łańcuchów w JavaScript. W tym samouczku będziesz miał różne sposoby i kompromisy między nimi.
Operator +
ten sam+
operator, którego używasz do dodawania dwóch liczb, może być użyty do połączenia dwóch łańcuchów.
const str = 'Hello' + ' ' + 'World';str; // 'Hello World'
Możesz również użyć+=
, gdziea += b
jest skrótema = a + b
.,
let str = 'Hello';str += ' ';str += 'World';str; // 'Hello World'
jeśli lewa strona operatora+
jest ciągiem znaków, JavaScript wymusi użycie prawej strony do ciągu znaków. Oznacza to, że bezpieczne jest łączenie obiektów, liczb, null
I undefined
.
let str = 'Values: ';str += 42;str += ' ';str += {};str += ' ';str += null;str; // 'Values: 42 null'
operatory+
I+=
są szybkie na nowoczesnych silnikach JavaScript, więc nie musisz się martwić o coś takiego jak Klasa StringBuilder Javy.,
Array#join ()
funkcjaArray#join()
tworzy nowy ciąg znaków z połączenia wszystkich elementów w tablicy. Na przykład:
.join(''); // 'Hello World'
pierwszy parametr join()
jest nazywany separatorem. Domyślnie separator jest pojedynczym przecinkiem ','
.
.join(); // 'a,b,c'
możesz przejść w dowolnym separatorze. Separatory sprawiają, że Array#join()
jest preferowaną metodą łączenia łańcuchów, jeśli powtarzasz ten sam znak w kółko., Na przykład, możesz użyć ' '
jako separatora, aby połączyć tablicę słów:
// 'Twas the night before Christmas'.join(' ');
lub możesz użyć '/'
aby połączyć fragmenty URL:
// 'masteringjs.io/tutorials/fundamentals/string-concat'.join('/');
separatory sprawiają, że Array#join()
jest bardzo elastycznym sposobem łączenia łańcuchów. Jeśli chcesz połączyć ze sobą zmienną liczbę łańcuchów, powinieneś zazwyczaj używaćjoin()
zamiastfor
pętli z+
.,
String#concat ()
ciągi JavaScript mają wbudowaną metodęconcat()
. Funkcjaconcat()
pobiera jeden lub więcej parametrów i zwraca zmodyfikowany łańcuch znaków. Ciągi znaków w JavaScript są niezmienne, więc concat()
nie modyfikuje łańcucha znaków w miejscu.
minusem concat()
jest to, że musisz mieć pewność, że str1
jest ciągiem znaków.Możesz przekazać parametry nietekstowe do concat()
, ale otrzymasz Typerrorif str == null
.,
// If `str` is null or not a string, can't use `concat()`const str = 'Values: ';// 'Values: 42 null'str.concat(42, ' ', null);
funkcjaconcat()
jest rzadko używana, ponieważ ma więcej przypadków błędów niż operator+
. Na przykład, można uzyskać nieoczekiwane zachowanie, jeśli wywołasz concat()
na wartości, która jest tablicą. Powinieneś używać +
zamiast concat()
chyba że masz bardzo dobry powód.,
Jeśli musisz użyć concat()
, zwykle najlepiej jest wywołać go na pustym łańcuchu:
''.concat('Hello', ' ', 'World');
więcej samouczków Fundamentals
- zmienne globalne w JavaScript
- Jak sprawdzić ” NaN ” w Javascript
- Enums JavaScript
- JavaScript trim String
- jak filtrować obiekt za pomocą JavaScript
- Jak używać foreach() w JavaScript
- Porównaj dwie daty, ignorując czas, w JavaScript