Tento článek vysvětlí, jak používat escape znaky k uvozovkám v řetězcích v programovacím jazyce JavaScript, s několika příklady.
Co je řetězcová proměnná v JavaScriptu?
A řetězec je typ proměnné. Představuje řadu nula nebo více znaků. Dalšími typy proměnných jsou numerické, booleovské a pole proměnné.
typ proměnné definuje, jaké hodnoty může obsahovat a co se s tím dá dělat. Řetězcové proměnné lze například rozdělit a spojit do nových řetězců a s numerickými proměnnými lze provádět matematické operace.
Použití uvozovek k definování řetězců
V JavaScriptu jsou řetězce definovány zabalením řady znaků do uvozovek a přiřazení této hodnoty k proměnné.
Řetězce JavaScriptu mohou obsahovat libovolné znaky podporované ve znakové sadě používané znakovou sadou UTF-16.
var myString = "this is a string!";
Jednořádkové řetězce
Řetězce s jedním řádkem lze definovat pomocí single nebo dvojité uvozovky :
var myString = 'this is a string!'; var myOtherString = "this is a string too!";
Víceřádkové řetězce
Řetězce zahrnující více řádků lze definovat pomocí backticks místo uvozovek:
var myString = `this is a string spanning several lines!`;
Co jsou únikové znaky?
To je všechno docela jednoduché, ale je tu problém – co když chcete, aby váš řetězec obsahoval stejný znak uvozovky, který byl použit k definici řetězce?
var myString = "Some guy once said "To be or not to be", or something to that effect.";
Výše uvedený kód způsobí chybu syntaxe , protože uvozovky, které chceme zahrnout do řetězce, narušují správné použití dvojitých uvozovek používaných k definování řetězce.
Escape znaky jsou řešením – můžeme JavaScriptu říci, že dvojité uvozovky v řetězci jsou součástí samotného řetězce a že by je neměl považovat za začátek nebo konec definice řetězce.
V JavaScriptu je znakem escape pro uvozovky používané v řetězcích znak \ (obrácené lomítko).
Escapování uvozovek
Chcete-li tedy zabránit tomu, aby uvozovky v řetězci zasahovaly do syntaxe JavaScriptu pro definování řetězce, jednoduše před ně umístěte zpětné lomítko takto:
var myString = "Some guy once said \"To be or not to be\", or something to that effect."; console.log(myString);
Výše uvedený příklad vypíše do konzole následující:
Some guy once said "To be or not to be", or something to that effect.
Escapování únikových znaků
Samozřejmě budete pravděpodobně chtít použít také \ (obrácené lomítko) v určitém okamžiku také ve vašich řetězcích. Nebojte se, můžete také uniknout únikové postavě:
var myString = "\\"; console.log(myString);
Výše uvedený kód vypíše do konzole následující:
\