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, nullI 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