3. diel - Základné dátové typy v JavaScripte a ich funkcie
V minulej lekcii, Začíname s JavaScriptom - Prvý skripty , sme si naprogramovali niekoľko prvých
skriptov a naučili sa pracovať s premennými. Dnes sa v JavaScript tutoriálu
pozrieme podrobnejšie na základné dátové typy a to presnejšie reťazca,
čísla a boolean
. Hoci JavaScript rieši dátové typy do určitej
miery za nás, nemôžeme sa im úplne vyhýbať a mali by sme rozumieť tomu,
ako fungujú.
Rekapitulácia
Javascript je dynamicky typizovanom jazyk. Plne nás odtieňuje od toho, že premenná má nejaký dátový typ. Ona ho samozrejme má, ale nedáva nám to najavo. Možno vytvoriť premennú s číselnou hodnotou, následne ju nastaviť objekt a potom desatinné číslo. Jazyk sa s tým sám vysporiada a typ automaticky zmení. Pretože typy u premenných nemusíme uvádzať, začínajúci programátori sa možno radujú, ale časom zistí, že má tento systém aj určité nevýhody. Ide najmä o zníženie schopnosťou automatickej kontroly správnosti kódu.
Základné dátové typy sú tieto:
String
- textNumber
- číslo s / bez desatinnej čiarkyBoolean
- pravda / nepravdaObject
Null
Undefined
Niektoré dátové typy, ako polia a ďalšie objekty, si vysvetlíme neskôr. Tie ostatné si popíšeme dnes. Nový štandard ECMA 6 priniesol ešte tzv. Symboly, ale k tým sa dostaneme až seriálu o OOP.
String
String
, v preklade textový reťazec, je rad znakov uložená v
za sebou idúcich bajtoch pamäte. Maximálna dĺžka nie je presne
špecifikovaná, záleží na interpretu. V niektorých variantoch môže byť
teoreticky nekonečná a je obmedzená len veľkosťou pamäte
RAM.
Ako sme si už vysvetlili skôr, reťazce je možné zapisovať pomocou dvojitých alebo aj jednoduchých úvodzoviek, tzn .:
let s1 = "nejaký text"; let s2 = 'nejaký text';
Úvodzovky je možné kombinovať aj vnútri reťazca. Ak teda napr. Chceme napísať jednoduchú úvodzovky, vložíme reťazec do úvodzoviek dvojitých.
let s1 = 'Mám rád znak ", pretože sa mi páči.'; let s1 = "David, yes, that's me!";
Pokiaľ je potrebné zapísať v reťazci rovnakú úvodzovky, ako v ktorých
je reťazec zapísaný, musí sa úvodzovky tzv. Odescapovat. To aby ju
interpret nevyhodnotil ako ukončenie reťazca, ale iba ako obyčajný znak. K
tomu sa používa spätné lomítko (\
):
let x = "Mám rád znak \", pretože sa mi páči.";
Znaky s týmto lomkou sa súhrnne nazývajú escape sekvencií. 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:
\a
- Pípnutie\b
- Backspace\f
- Preskočenie na ďalšie "stánku"\n
- Nový riadok\r
- Carriage return (niekedy ako súčasť odriadkovanie)\t
- Horizontálne tabulátor\v
- Vertikálne tabulátor\\
- Spätné lomítko\'
- Jednoduchá úvodzovky\"
- Dvojitá úvodzovky\0
- Nulový znak (tiež používaný pre ukončenie reťazca)
Funkcie a vlastnosti reťazcov
Index
Za pomoci indexov možno prechádzať jednotlivé znaky v reťazci. Index sa
zapisuje do hranatých zátvoriek za názvom premennej. Čísluje sa od nuly,
takže pozor. Pokiaľ chcete vybrať prvý znak, je to 0
.
let x = "text"; document.write(x[0]); // vypíše prvý znak reťazca document.write(x[3]); // vypíše štvrtý znak
Length
Vlastnosť (ako už z názvu vypovedá) obsahuje dĺžku reťazca v znakoch.
let s = "text"; document.write(s.length); // Vypíše hodnotu 4
Trim ()
Ak text načítame od užívateľa, môže sa nám stať, že pred neho alebo
za neho napíše medzeru. Okolo reťazcov sa tiež často vyskytujú ďalšie
tzv. Biele znaky, napr. Konce riadkov. Funkcia trim()
tieto biele
znaky okolo reťazca odstráni, aby nekomplikovali ďalšie spracovanie. Ak sú
vnútri, zostanú ponechané.
let s = " Jan Novák "; s = s.trim(); // Vs je teraz uložené "Ján Novák"
Replace ()
Funkcia nahradí hľadanú hodnotu v reťazci inú.
let str = "PHP je najlepší!"; let s = str.replace("Php", "JavaScript");
ToUpperCase () a toLowerCase ()
Zmení všetky písmená v reťazci na veľké alebo na malá:
let s = "string"; s.toUpperCase(); // veľké znaky s.toLowerCase(); // malé znaky
Concat ()
Spája dva a viac reťazcov. Táto funkcia je volaná automaticky keď sa
String
y pokúsime sčítať pomocou operátora +
.
str1 = "Karel"; str2 = "Josef"; str3 = "Petra"; let spojene = str1.concat(str2,str3); let spojene2 = str1 + str2 + str3;
Posledné 2 riadky robia to isté, spojí reťazce do jedného dlhého.
Substring () a substr ()
Funkcia vracia vybranú časť reťazca, ktorej sa hovorí podreťazec. Obe robia v podstate to isté, avšak líšia sa významom parametrov.
s = "Tutoriály na ITnetworku"; podretezec1 = s.substr(2, 6); // Vracia znaky od druhej pozície, 6 znakov, teda "toriál" podretezec2 = s.substring(2, 6); // vracia znaky od druhej do 6 pozície, teda tori
Split ()
Rozdelí reťazec na pole podreťazcov pomocou určitého znaku. S poli sa ešte len bližšie stretneme.
str.split("-"); // ako-sa-mas == [0] ako [1] sa [2] mas
IndexOf (), lastIndexOf () a search ()
Vracia pozíciu daného podreťazca.
str.indexOf("ahoj"); // vracia prvý index str.lastIndexOf("ahoj"); // vracia posledný nájdený index str.search("ahoj"); // vracia index hľadaného reťazca alebo Regex výrazu (o tých sa dozvieme ďalej)
Match ()
Vracia zhodu s výrazom v reťazci. Používa sa hlavne pre regulárne výrazy (Regex), pozri ďalší lekcie.
Čísla
Čísla možno zapísať dvoma zápisy. Po prvé tak, ako sme zvyknutí:
let x = 10;
A druhý zápis pomocou vedeckej (exponenciálna) notácie:
let x = 10e5; // 10**5 = 1 000 000
S číslami možno samozrejme vykonávať väčšinu nám známych
základných operácií ako sčítanie, násobenie, delenie ... Máme tu aj
zvyšok po delení (tzv. Modulo) a to pomocou operátora %
.
Všetky čísla sú v JavaScripte ukladané ako 64 bitové a sú počítaná s presnosťou na 15 čísel.
Funkcie a vlastnosti čísel
IsNaN (hodnota)
Zistí, či je objekt v parametri funkcie číslo alebo nie. NaN
Označuje skratku Not a Number.
Vracia true
alebo false
(pravda / nepravda) podľa
toho, či je parametrom číslo.
ToPrecision (x)
Oreže číslo na danú presnosť.
I.toString ()
Prevedie číslo na reťazec, tzn. číslo sa stane plnohodnotným reťazcom znakov.
ToExponential (x)
Prevedie číslo na exponenciálny (vedeckú) notáciu. Napr. pre hodnotu
100
to bude 1e2
.
Number.MAX_VALUE a Number.MIN_VALUE
Vracia najväčšie / najmenšie možné číslo v JavaScripte.
Knižnica Math
Knižnica Math
je jednou zo základných knižníc JavaScriptu.
Obsahuje veľmi užitočné funkcie a vlastnosti, napr. Číslo Pí,
max()
, umocňovanie ... Tu si ich pár ukážeme.
K premenným a funkciám knižníc pristupujeme pomocou operátora bodky.
Math.PI // číslo PI Math.E // Eulerovo číslo Math.LN10 // Logaritmus 10 Math.SQRT2 // druhá odmocnina Math.max(1,10) // Vráti väčšie číslo. Opakom je funkcia min () Math.pow(4,3) // 4 na tretiu == 64 Math.sqrt(9) // 2 odmocnina čísla Math.random() // náhodné číslo 0 – 1 Math.abs(x) // absolútna hodnota čísla Math.round(x) // zaokrúhlenie podľa bežných pravidiel Math.ceil(x) // zaokrúhlenie nahor Math.floor(x) // zaokrúhlenia nadol Math.cos(x) // cosinus Math.sin(x) // sinus Math.log(x) // prirodzený logaritmus (základom je Eulerovo Číslo)
Boolean
Logický dátový typ, nadobúda iba dvoch hodnôt 0
alebo
1
(true
alebo false
). Jeho hodnota je
teda buď pravdivá alebo nepravdivá. Používa sa pre vyhodnotenie podmienok a
cyklov, ku ktorým sa dostaneme v ďalších dieloch.
Null / Undefined
Oba dva dátové typy zastupujú prázdnu premennú. Avšak je tu rozdiel.
null
je nevytvorenie objekt, undefined
naopak objektom
nie je.
A to je pre dnešok všetko. V budúcej lekcii, Riešené úlohy k 4. lekcii JavaScriptu , sa pozrieme na podmienky a naše aplikácie začnú byť zas o niečo zaujímavejšie
V nasledujúcom cvičení, Riešené úlohy k 4. lekcii JavaScriptu, si precvičíme nadobudnuté skúsenosti z predchádzajúcich lekcií.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkamiStiahnuté 71x (5.3 kB)