Ciągi JavaScript
Łańcuchy JavaScript służą do przechowywania i manipulowania tekstem.
Ciąg JavaScript to zero lub więcej znaków zapisanych w cudzysłowie.
Przykład
let text = "John Doe";
Możesz użyć pojedynczych lub podwójnych cudzysłowów:
Przykład
let carName1 = "Volvo XC60";
// Double quotes
let carName2 = 'Volvo XC60'; // Single quotes
Możesz używać cudzysłowów wewnątrz ciągu, o ile nie pasują do cudzysłowów otaczających ciąg:
Przykład
let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';
Długość łańcucha
Aby znaleźć długość ciągu, użyj wbudowanej length
właściwości:
Przykład
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;
Postać ucieczki
Ponieważ ciągi znaków muszą być napisane w cudzysłowie, JavaScript źle zrozumie ten ciąg:
let text = "We are the so-called "Vikings" from the north.";
Sznurek zostanie pocięty na „Jesteśmy tak zwani”.
Rozwiązaniem pozwalającym uniknąć tego problemu jest użycie znaku ucieczki odwrotnego ukośnika .
Znak zmiany znaczenia odwrotnego ukośnika ( \
) zamienia znaki specjalne na znaki łańcuchowe:
Code | Result | Description |
---|---|---|
\' | ' | Single quote |
\" | " | Double quote |
\\ | \ | Backslash |
Sekwencja \"
wstawia podwójny cudzysłów w ciągu:
Przykład
let text = "We are the so-called \"Vikings\" from the north.";
Sekwencja \'
wstawia pojedynczy cudzysłów w ciągu:
Przykład
let text= 'It\'s alright.';
Sekwencja \\
wstawia odwrotny ukośnik w łańcuchu:
Przykład
let text = "The character \\ is called backslash.";
Sześć innych sekwencji specjalnych jest poprawnych w JavaScript:
Code | Result |
---|---|
\b | Backspace |
\f | Form Feed |
\n | New Line |
\r | Carriage Return |
\t | Horizontal Tabulator |
\v | Vertical Tabulator |
Powyższe 6 znaków ucieczki zostało pierwotnie zaprojektowanych do sterowania maszynami do pisania, dalekopisami i faksami. W HTML nie mają żadnego sensu.
Łamanie długich linii kodu
Aby uzyskać najlepszą czytelność, programiści często unikają linii kodu dłuższych niż 80 znaków.
Jeśli instrukcja JavaScript nie mieści się w jednej linii, najlepszym miejscem do jej przerwania jest operator:
Przykład
document.getElementById("demo").innerHTML =
"Hello Dolly!";
Możesz także podzielić linię kodu w ciągu tekstowym za pomocą pojedynczego ukośnika odwrotnego:
Przykład
document.getElementById("demo").innerHTML =
"Hello \
Dolly!";
Metoda \
nie jest metodą preferowaną. Może nie mieć uniwersalnego wsparcia.
Niektóre przeglądarki nie zezwalają na spacje za \
znakiem.
Bezpieczniejszym sposobem na rozbicie ciągu jest użycie dodawania ciągu:
Przykład
document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
Nie możesz podzielić linii kodu ukośnikiem odwrotnym:
Przykład
document.getElementById("demo").innerHTML = \
"Hello Dolly!";
Ciągi JavaScript jako obiekty
Normalnie ciągi JavaScript są pierwotnymi wartościami, tworzonymi z literałów:
let x = "John";
Ale łańcuchy można również zdefiniować jako obiekty za pomocą słowa kluczowego new
:
let y = new String("John");
Przykład
let x = "John";
let y = new String("John");
Nie twórz obiektów typu Strings.
Słowo new
kluczowe komplikuje kod i spowalnia szybkość wykonywania.
Obiekty łańcuchowe mogą dawać nieoczekiwane wyniki:
Używając ==
operatora, x i y są równe :
let x = "John";
let y = new String("John");
Używając ===
operatora, x i y nie są równe :
let x = "John";
let y = new String("John");
Zwróć uwagę na różnicę między (x==y)
a (x===y)
.
(x == y)
prawda czy fałsz?
let x = new String("John");
let y = new String("John");
(x === y)
prawda czy fałsz?
let x = new String("John");
let y = new String("John");
Porównanie dwóch obiektów JavaScript zawsze zwraca false .
Pełne odniesienie do ciągu
Aby uzyskać pełne odniesienie do ciągu, przejdź do naszego:
Pełne odniesienie do ciągów JavaScript .
Odwołanie zawiera opisy i przykłady wszystkich właściwości i metod ciągów.