Podatkovni tipi programskega jezika JavaScript so:
Osnovne tipe lahko delimo naprej na:
Nedoločen tip - undefined
Podatek, ki ima nedoločeno vrednost, ima tudi nedoločen tip. Nedoločena vrednost je pravzaprav ena sama. Rečemo ji undefined. Nedefinirano vrednost pomni spremenljivka, takoj potem, ko smo jo tvorili, pa ji še nismo priredili neke vrednosti.
Prazen tip - null
Podobno kot pri nedoločenem tipu imamo tudi pri praznem tipu samo eno vrednost. Imenujemo jo null (to je rezervirana beseda). To ni isto kot 0 (ki je tudi vrednost). Null pomeni, da vrednosti sploh nimamo!!
Logični tip – Boolean
Edini vrednosti logičnega tipa (ali krajše logični vrednosti) sta true (je res) in false (ni res). Obe vrednosti sta rezervirani besedi.
Število - number
Za razliko od večine drugih programskih jezikov JavaScript ne ločuje med celimi in realnimi ali predznačenimi in nepredznačenimi števili. Kljub temu lahko število zapišemo kot celo ali realno, a samo pozitivne vrednosti (negativne dobimo z uporabo operatorja -, ki obrne predznak).
Celo število
Celo število lahko zapišemo v desetiški, šestnajstiški ali osmiški osnovi.
– Desetiško celo število zapišemo kot zaporedje desetiških števk (0-9), pri čemer prva števka ne sme biti 0 (razen ko gre za število 0).
– Šestnajstiško celo število pričnemo z 0x ali 0X, nadaljujemo pa z zaporedjem šestnajstiških števk (0-9, a-f, A-F).
– Osmiško celo število pa pričnemo z 0, nadaljujemo pa z zaporedjem osmiških števk (0-7).
Primeri:
25
0
812376348
0x5ab7
0Xa0F
0xFFFF
0126
05
Realno število
Realno število sestavimo iz naslednjih štirih delov, ki si morajo slediti v tem vrstnem redu: celi del, decimalni simbol, decimalni del in eksponent. Nekatere izmed teh štirih delov lahko izpustimo. Celi in decimalni del sta dve zaporedji desetiških števk (0-9), pri čemer se celi del ne sme pričeti z ničlo, razen če je to edina števka v tem delu. Decimalni simbol je pika, eksponent pa je sestavljen iz znaka e ali E, morebitnega predznaka plus ali minus in vsaj ene desetiške števke (0-9). Realno število mora vsebovati vsaj eno števko v celem in decimalnem delu skupaj, ter decimalni simbol ali eksponent.
Primeri:
3.1415
10.
.5
3.1E12
.1e12
2e-12
Predstavitev Javascript števil v interpreterju
Javascript interpreter vsa števila (tudi cela) pretvori v realna števila, ki so običjno omejena na 32 bitov (predznak, mantisa, eksponent).
Vsak izračun izrazov, ki vsebujejo realna števila, daje rezultate, ki se zaokrožajo na zadnji decimalki navzgor (če je rezultat večji od 0,5) ali navzdol (če je rezultat manjši ali enak 0,5) , zato nikoli ne dobimo popolnoma točnega rezultata, saj je število decimalnih mest omejeno na končno število ( v našem primeru 6).
Števili neskončno in neštevilo
Poleg že omenjenih števil pa obstajata še dve posebni števili: neskončno in neštevilo:
Infinity - neskončno
NaN - neštevilo
Nizi znakov – string
Nizi so poljubna zaporedja znakov, ki jih zapišemo v narekovajih. Pri tem ni pomembno, ali uporabimo enojne ali dvojne narekovaje. Enojne narekovaje na primer uporabimo,če imamo niz, ki vsebuje kot znak tudi narekovaje. Koristno je tudi (čeprav ni obvezno), da v celem programu uporabljamo samo eno vrsto narekovajev za zapis nizov. Niz, ki ne vsebuje nobenega znaka, imenujemo prazen niz. Zapišemo ga z dvema narekovajema iste vrste, med katerima ni nobenega znaka (niti presledka).
Primeri:
'' - prazen niz
"" - prazen niz
"Janez"
'Danes je lep dan.'
'123'
"-13.23"
"prva vrstica \n naslednja vrstica"
Posebni znaki v nizih znakov
Poleg običajnih znakov (črke, števke, ločila, oklepaji, operatorji ...) lahko niz vsebuje tudi posebne znake, kot so tabulator, znak za novo vrstico ali znaki s posebnim pomenom. Poseben znak v nizu opišemo z uporabo znaka \ (backslash), ki mu sledi dejanski opis znaka. Posebni znaki, ki jih lahko opišemo na tak način, so:
\n znak za skok v novo vrstico (new line)
\b znak za skok eno mesto v levo (backspace)
\f znak za skok na novo stran (form feed)
\r znak za skok na začetek vrstice (carriage return)
\t znak za skok v naslednji stolpec (tab)
\v znak za skok v naslednji odstavek (vertical tab)
\‘ enojni narekovaj (single quote)
\“ dvojni narekovaj (double quote)
\\ nagibnica (backslash)
\XXX znak, predstavljen s kodo Latin1 (tri osmiške števke)
\xXX znak, predstavljen s kodo Latin1 (dve šestnajstiški števki)
\uXXXX znak, predstavljen s kodo Unicode (štiri šestnajstiške števke)
Posebni znaki v nizih znakov – nadaljevanje
V nizu, ki ga napišemo v dvojnih narekovajih, ne moremo uporabiti dvojnega narekovaja, ker bi pomenil konec niza. Rešitev se skriva v posebnem znaku \". Tega lahko napišemo kjerkoli v nizu. Isto velja za enojni narekovaj v nizu, ki ga napišemo v enojnih narekovajih. Brez težav pa lahko uporabimo dvojni narekovaj v nizu z enojnimi narekovaji in obratno. Tudi znak \ je nekaj posebnega. Če ga potrebujemo kot znak v nizu, moramo napisati dva zaporedoma.
Primeri:
‘ “ '
“ ‘ "
"Znak \" je poseben."
"C:\\Temp\\podatki.dat"
Pogosta napaka
Nize znakov začnite in zaključite z enojnim ali dvojnim narekovajem. Če niza znakov ne zaključite ustrezno, se v večini primerov vaš Javascript program ne bo pravilno izvedel ali pa bo interpreter javil napako.
Objekt - object
Objekt je edini sestavljeni podatkovni tip. Vrednosti tega tipa si najlažje predstavljamo kot zbirko poimenovanih ali indeksiranih vrednosti, ki so lahko spet kateregakoli tipa (lahko so tudi objekti). Med objekte spadajo datumi, tabele, funkcije, regularni izrazi ... Več o objektih kasneje.