IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

4. diel - Textové reťazce v JavaScripte

V predchádzajúcom kvíze, Kvíz - Úvod, konzoly a premenné v JavaScripte, sme si overili nadobudnuté skúsenosti z predchádzajúcich lekcií.

V dnešnom tutoriále základov JavaScriptu si predstavíme textové reťazce a operácie, ktoré s nimi môžeme vykonávať. Preberieme tiež používanie rôznych úvodzoviek a špeciálne znaky.

Textové reťazce v JavaScripte

Textové reťazce slúžia na uchovávanie textu. Je to v podstate rad znakov obklopený úvodzovkami, prípadne tzv. tupým prízvukom. Pri deklarácii textových reťazcov tak môžeme ľahko pracovať s rôznymi formátmi, vrátane reťazcov obsahujúcich úvodzovky. S reťazcami je možné vykonávať rôzne operácie, ako je spojenie, rozdelenie, vyhľadávanie podreťazcov či menenie veľkosti písmen. Textový reťazec je reprezentovaný dátovým typom string. Jeho maximálna dĺžka nie je presne špecifikovaná.

Vytváranie reťazcov

Reťazce zapisujeme pomocou úvodzoviek. Využiť môžeme niekoľko typov - dvojité, jednoduché, ale aj spätné úvodzovky alebo takzvaný tupý prízvuk:

let greetingQuotes = "Welcome aboard!";
let greetingApostrophes = 'Welcome aboard!';
let greetingAccent = `Welcome aboard!`;

Jednoduché úvodzovky

Jednoduché úvodzovky ' (apostrof) napíšeme pomocou klávesy Shift a nasledujúce klávesy:

Apostrof - Základné konštrukcie jazyka JavaScript

Dvojité úvodzovky

Dvojité úvodzovky " sa napíšu pomocou klávesu Shift a klávesu ô:

Úvodzovky - Základné konštrukcie jazyka JavaScript

Keď používame dvojité úvodzovky, môžeme vo vnútri reťazca priamo použiť jednoduché úvodzovky bez potreby escapovania.

Tupý prízvuk

Tupý prízvuk na slovenskej klávesnici môžeme napísať pomocou pravého Alt a písmena ý:

Tupý prízvuk - Základné konštrukcie jazyka JavaScript

Kombinovanie úvodzoviek

Úvodzovky je možné kombinovať aj vo vnútri reťazca. Pokiaľ teda napríklad chceme napísať jednoduchú úvodzovku, vložíme reťazec do úvodzoviek dvojitých a naopak:

let quote = 'Steve Jobs once said: "People do not know what they want until you show it to them." ';
document.write(quote);

Výstup v prehliadači:

Combining quotes
localhost

Pokiaľ v predchádzajúcom príklade nahradíme jednoduché úvodzovky dvojitými, nič sa nám nevypíše. Program si totiž bude myslieť, že textový reťazec deklarujeme iba v časti "Steve Jobs once said: " a nebude vedieť, ako vyhodnotiť zostávajúce znaky, takže dôjde k chybe.

Visual Studio Code nás na chybu upozorní a označí zvyšný text na červeno:

Upozornenie na nesprávnu deklaráciu premennej vo Visual Studio Code - Základné konštrukcie jazyka JavaScript

V prehliadači potom uvidíme podobnú chybu v konzole, ktorú si otvoríme pomocou klávesy F12:

Error print in web browser console - Základné konštrukcie jazyka JavaScript

Escapovanie a špeciálne znaky

Pokiaľ je potrebné zapísať v reťazci rovnakú úvodzovku, v ktorých je reťazec už zapísaný, musí sa úvodzovka takzvane escapovať. Tým docielime to, že ju interpret nevyhodnotí ako ukončenie reťazca, ale iba ako obyčajný znak. Na escapovanie sa používa spätná lomka:

let quote = "Steve Jobs once said: \"People do not know what they want until you show it to them.\"";

Spätné lomítko sa na slovenskej klávesnici napíše pomocou pravého Alt a písmena Q:

Spätná lomka - Základné konštrukcie jazyka JavaScript

Znaky s týmto lomítkom sa súhrnne nazývajú escape sekvencie. Okrem úvodzoviek môžeme pomocou lomítka zapísať ešte niekoľko špeciálnych znakov, ktoré by sa nám inak zapisovali ťažko. Tu je ich zoznam:

  • \b – backspace,
  • \f – preskočenie na ďalšiu "stránku",
  • \n – nový riadok,
  • \r – carriage return (niekedy ako súčasť odriadkovania),
  • \t – horizontálny tabulátor,
  • \v – vertikálny tabulátor,
  • \\ – spätná lomka,
  • \0 – nulový znak (tiež používaný na ukončenie reťazca).

Dajme si pozor na zápis spätného lomítka. V tomto prípade musíme zapísať dve. V opačnom prípade si JavaScript bude myslieť, že píšeme špeciálny znak.

Odriadkovanie \n je štandardný spôsob, ako indikovať nový riadok v textovom prostredí alebo v konzole. V HTML odriadkujeme pomocou <br />. Pokiaľ by sme v kóde použili odriadkovanie pomocou \n, prehliadač ho nezobrazí.

Interpolácia reťazcov

Na výpis textových reťazcov môžeme použiť tupý prízvuk (`) namiesto úvodzoviek, čo nám umožní tzv. interpoláciu, teda vložiť premenné priamo do reťazca. Použijeme znak dolára ($) a zložené zátvorky ({}), do ktorých zapíšeme premennú.

Na klávesnici znak dolára $ napíšeme pomocou pravého Alt a písmena ô:

Dolár - Základné konštrukcie jazyka JavaScript

Zložené zátvorky sa na slovenskej klávesnici napíšu pomocou pravého ALT a písmena B či N:

Zložené zátvorky - Základné konštrukcie jazyka JavaScript

Vďaka týmto špeciálnym znakom môžeme vypísať premenné priamo v textovom reťazci:

let a = 6;
let b = 4;
let c = 8;
let output = `Triangle: a = ${a} cm, b = ${b} cm, c = ${c} cm.`;
document.write(output);

V prehliadači sa nám zobrazí tento výsledok:

String interpolation
localhost

Viacriadkové reťazce

Spätné úvodzovky umožňujú definovať aj viacriadkový text priamo v kóde:

let wisdom = `He that mischiefs hatches,
mischiefs catches`;

Ak by sme použili jednoduché alebo dvojité úvodzovky, museli by sme to urobiť pomocou \n:

let wisdom = "He that mischiefs hatches,\n" +
"mischiefs catches";

Operácia s reťazcami

Teraz si predstavíme základné metódy na prácu s textovými reťazcami. Začneme vlastností length, ktorá v sebe nesie informáciu o dĺžke reťazca.

Vlastnosť length

Dĺžku reťazca zistíme vďaka vlastnosti length. Použijeme ju nasledovne:

let name = "David";
document.write(name.length);

Výstup v prehliadači:

Name length
localhost

Metóda trim()

Pokiaľ načítame text od užívateľa, môže sa nám stať, že pred text alebo za neho užívateľ napíše medzeru. Okolo reťazcov sa tiež často vyskytujú ďalšie takzvané biele znaky, napr. konce riadkov. Metóda trim() tieto biele znaky okolo reťazca odstráni, aby nekomplikovali ďalšie spracovanie. Vnútri textu zostanú biele znaky ponechané:

let name = "  Homer Simpson  ";
document.write(name.length + "<br />"); // the result counts two spaces at the beginning of the string and two spaces at the end of it
name = name.trim(); // now we have "Homer Simpson" stored in the variable
document.write(name.length + "<br />");
document.write(name);

Výstup v prehliadači:

Removal of white characters
localhost

Metóda replace()

Táto metóda prijíma dva parametre. Najprv zadáme hľadaný text a potom text, ktorým ho chceme nahradiť:

let originalSentence = "PHP is the best!";
let modifiedSentence = originalSentence.replace("PHP", "JavaScript");
document.write(originalSentence);
document.write("<br />");
document.write(modifiedSentence);

Výstup v prehliadači:

String replacement
localhost

Metódy toUpperCase() a toLowerCase()

Rozlišovanie veľkých a malých písmen môže byť niekedy na obtiaž. Veľakrát sa budeme potrebovať opýtať na prítomnosť podreťazca tak, aby nezáležalo na veľkosti písmen. Situáciu môžeme vyriešiť pomocou metód toUpperCase() a toLowerCase(), ktoré vracia reťazec vo veľkých a v malých písmenách. Zmení teda všetky písmená v reťazci na veľké alebo na malé:

let name = "david Jones";
name = name.toUpperCase(); // DAVID JONES
document.write(name);
document.write("<br />");
name = name.toLowerCase(); // david jones
document.write(name);

Výstup:

String replacement
localhost

Zlučovanie reťazcov

Reťazce môžeme spájať niekoľkými spôsobmi. Najčastejšie použijeme operátor +:

let firstName = "David";
let lastName = "Jones";
let title = "MBA";

let addressing = firstName + " " + lastName + ", " + title;
document.write(addressing);

Výstup v prehliadači:

Concatenation of strings
localhost

Pre zlúčenie reťazcov JavaScript poskytuje metódu concat(). Tá je automaticky volaná, keď použijeme operátor +, preto budeme tento spôsob preferovať.

Metódy startsWith() a endsWith()

Nasledujúcimi metódami kontrolujeme, či reťazec začína alebo končí určitým podreťazcom. Ako argument metódy prijímajú podreťazec, ktorý sa má hľadať. Voliteľne je možné pridať druhý argument, ktorý pri metóde startsWith() určuje pozíciu v reťazci, od ktorej sa má začať hľadať, a pri metóde endsWith() upresňuje dĺžku reťazca, v ktorom sa má hľadať. V prípade, že metódy reťazec nájdu, obe vracajú true, v opačnom prípade vráti false:

let input = "Rhinopotamus";
document.write(input.startsWith("hin")); // prints out false
document.write(input.startsWith("hin", 1)); // prints out true
document.write(input.endsWith("tamus")); // prints out true

Výstup:

String methods
localhost

V nasledujúcom kvíze, Kvíz - Textové reťazce v JavaScripte, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 4x (1.83 kB)
Aplikácia je vrátane zdrojových kódov v jazyku JavaScript

 

Predchádzajúci článok
Kvíz - Úvod, konzoly a premenné v JavaScripte
Všetky články v sekcii
Základné konštrukcie jazyka JavaScript
Preskočiť článok
(neodporúčame)
Kvíz - Textové reťazce v JavaScripte
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
8 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity