JavaScriptové řetězce
Řetězce JavaScriptu slouží k ukládání a manipulaci s textem.
Řetězec JavaScriptu obsahuje nula nebo více znaků napsaných v uvozovkách.
Příklad
let text = "John Doe";
Můžete použít jednoduché nebo dvojité uvozovky:
Příklad
let carName1 = "Volvo XC60";
// Double quotes
let carName2 = 'Volvo XC60'; // Single quotes
Uvozovky můžete použít uvnitř řetězce, pokud se neshodují s uvozovkami obklopujícími řetězec:
Příklad
let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';
Délka struny
Chcete-li zjistit délku řetězce, použijte vestavěnou length
vlastnost:
Příklad
let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;
Útěk postava
Protože řetězce musí být psány v uvozovkách, JavaScript tento řetězec špatně pochopí:
let text = "We are the so-called "Vikings" from the north.";
Řetězec bude přerušen na "Jsme tzv.".
Řešením, jak se tomuto problému vyhnout, je použití znaku escape zpětného lomítka .
Znak escape zpětného lomítka ( \
) změní speciální znaky na znaky řetězce:
Code | Result | Description |
---|---|---|
\' | ' | Single quote |
\" | " | Double quote |
\\ | \ | Backslash |
Sekvence \"
vloží dvojitou uvozovku do řetězce:
Příklad
let text = "We are the so-called \"Vikings\" from the north.";
Sekvence \'
vloží jednu uvozovku do řetězce:
Příklad
let text= 'It\'s alright.';
Sekvence \\
vloží zpětné lomítko do řetězce:
Příklad
let text = "The character \\ is called backslash.";
V JavaScriptu je platných šest dalších escape sekvencí:
Code | Result |
---|---|
\b | Backspace |
\f | Form Feed |
\n | New Line |
\r | Carriage Return |
\t | Horizontal Tabulator |
\v | Vertical Tabulator |
6 escape znaků výše bylo původně navrženo k ovládání psacích strojů, dálnopisů a faxů. V HTML nedávají žádný smysl.
Prolomení dlouhých řádků kódu
Pro nejlepší čitelnost se programátoři často rádi vyhýbají řádkům kódu delším než 80 znaků.
Pokud se příkaz JavaScript nevejde na jeden řádek, nejlepší místo pro jeho přerušení je po operátoru:
Příklad
document.getElementById("demo").innerHTML =
"Hello Dolly!";
Řádek kódu v textovém řetězci můžete také rozdělit jedním zpětným lomítkem:
Příklad
document.getElementById("demo").innerHTML =
"Hello \
Dolly!";
Metoda \
není preferovanou metodou. Nemusí mít univerzální podporu.
Některé prohlížeče nepovolují mezery za \
znakem.
Bezpečnějším způsobem, jak rozdělit řetězec, je použít sčítání řetězce:
Příklad
document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";
Řádek kódu nemůžete rozdělit zpětným lomítkem:
Příklad
document.getElementById("demo").innerHTML = \
"Hello Dolly!";
Řetězce JavaScriptu jako objekty
Normálně jsou řetězce JavaScriptu primitivní hodnoty vytvořené z literálů:
let x = "John";
Ale řetězce lze také definovat jako objekty s klíčovým slovem new
:
let y = new String("John");
Příklad
let x = "John";
let y = new String("John");
Nevytvářejte objekty Strings.
Klíčové new
slovo komplikuje kód a zpomaluje rychlost provádění.
Objekty typu String mohou způsobit neočekávané výsledky:
Při použití ==
operátoru se x a y rovnají :
let x = "John";
let y = new String("John");
Při použití ===
operátoru se x a y nerovnají :
let x = "John";
let y = new String("John");
Všimněte si rozdílu mezi (x==y)
a (x===y)
.
(x == y)
pravda nebo lež?
let x = new String("John");
let y = new String("John");
(x === y)
pravda nebo lež?
let x = new String("John");
let y = new String("John");
Porovnání dvou objektů JavaScriptu vždy vrátí hodnotu false .
Kompletní odkaz na řetězec
Úplnou referenci String naleznete na naší stránce:
Kompletní reference JavaScriptového řetězce .
Odkaz obsahuje popisy a příklady všech vlastností a metod řetězců.