Veľkonočná akcia je tu a s ňou aj extra kredity ZADARMO na náš interaktívny e-learning. Dobij si teraz kredity a posuň sa vo svojej kariére vpred!
Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

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ávesu Shift a nasledujúceho klávesu:

Apostrof - Základné konštrukcie jazyka JavaScript

Dvojité úvodzovky

Dvojité úvodzovky " sa píšu pomocou 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. Ak 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

Ak 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 červenou farbou:

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

Ak 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á lomka 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 touto lomkou sa súhrnne nazývajú escape sekvencie. Okrem úvodzoviek môžeme pomocou lomky 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ätnej lomky. 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 />. Ak 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 napíšeme znak dolára $ pomocou pravého Alt a písmena ô:

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

Zložené zátvorky sa na slovenskej klávesnici píšu pomocou pravého ALT a písmen 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ácie s reťazcami

Teraz si predstavíme základné metódy na prácu s textovými reťazcami. Začneme vlastnosťou 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()

Ak načítame text od používateľa, môže sa nám stať, že pred text alebo zaň použí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ž. Často sa budeme potrebovať spý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é vracajú reťazec vo veľkých a v malých písmenách. Zmenia 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átia 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é 14x (2.32 kB)
Aplikácia je vrátane zdrojových kódov v jazyku JavaScript

 

Ako sa ti páči článok?
Pred uložením hodnotenia, popíš prosím autorovi, čo je zleZnakov 0 z 50-500
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:
63 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