Podatkovni tipi določajo, kakšne vrednosti lahko uporabljamo v programu. V JavaScriptu razlikujemo med osnovnimi oziroma primitivnimi tipi in tipom object, ki predstavlja objekte. Med primitivne tipe sodijo string, number, bigint, boolean, undefined, symbol in null.
Osnovna pravila
numberpredstavlja števila s plavajočo vejico.bigintpredstavlja zelo velika cela števila.stringpredstavlja besedilo.booleanima dve vrednosti:trueinfalse.undefinedpomeni, da vrednost ni bila dodeljena.nullpomeni namerno odsotnost vrednosti.symbolpredstavlja enolično vrednost.objectpredstavlja objekte, tabele in druge sestavljene strukture.
Primerjave
number in bigint
Tip number uporabljamo za običajna števila, tako cela kot decimalna. Tip bigint pa uporabljamo za zelo velika cela števila, ki presegajo varno območje tipa number.
Pripona n na koncu števila pomeni, da gre za vrednost tipa bigint, ki jo uporabljamo za zelo velika cela števila.
const a = 30;
const b = 10.123;
const c = 3.12e15;
const d = 9007199254740993n;
Pomni: Pripona n na koncu števila pomeni, da gre za vrednost tipa bigint. Ta zapis uporabljamo pri zelo velikih celih številih, na primer 9007199254740993n. bigint uporabljamo samo za cela števila, zato zapis kot na primer 10.5n ni veljaven.
Tip number pozna tudi posebne vrednosti, kot sta Infinity in NaN.
const x = 5 / 0; // Infinity
const y = 5 / "hruška"; // NaN
Pozor: Starejša uporaba osmiških števil z vodilno ničlo, na primer 01234, ni več primerna v sodobni praksi. Za sodobni zapis osmiškega števila uporabljamo obliko 0o, na primer 0o123.
string in druge vrednosti
Tip string predstavlja besedilo. Nize zapisujemo v enojnih narekovajih, dvojnih narekovajih ali v sodobnem JavaScriptu tudi z obrnjenimi narekovaji.
const drzava = "Slovenija";
const predmet = 'Programiranje';
const sporocilo = `Pozdravljen svet`;
Niz lahko vsebuje tudi posebne znake, ki jih zapišemo z ubežnimi zapisi. Ti so sestavljeni iz znaka \ in ustreznega znaka.
"Znak \" je poseben."
"C:\\Temp\\datoteka.txt"
"Prva vrstica\nDruga vrstica"
undefined in null
Vrednost undefined pomeni, da spremenljivka obstaja, vendar ji še nismo dodelili vrednosti. Vrednost null pa pomeni, da smo vrednost namenoma nastavili na “brez vrednosti”.
let oseba;
let uporabnik = null;
Pomni: Prazen niz "" ni enak vrednosti null. Prazen niz je besedilo brez znakov, null pa pomeni namensko odsotnost vrednosti.
boolean
Tip boolean uporabljamo pri pogojih in odločitvah. Ima samo dve vrednosti: true in false.
const prijavaUspešna = true;
const računOdklenjen = false;
symbol
Tip symbol predstavlja enolično in nespremenljivo vrednost. Vsak simbol, ustvarjen z zapisom Symbol(), je unikaten, zato dva simbola nista enaka, tudi če imata enak opis. Uporabljamo ga predvsem za ustvarjanje posebnih ključev lastnosti objektov, kadar želimo preprečiti, da bi se ime lastnosti po naključju ujemalo z drugim imenom.
const id1 = Symbol("id");
const id2 = Symbol("id");
console.log(id1 === id2); // false
const id = Symbol("id");
const oseba = {
ime: "Ana",
[id]: 125
};
Pomni: Vsak zapis Symbol() ustvari novo enolično vrednost. Tudi če imata dva simbola enak opis, med seboj nista enaka.
object
Tip object predstavlja sestavljene podatke. Med objekte sodijo navadni objekti, tabele, datumi in tudi funkcije kot posebna vrsta objektov.
const oseba = {
ime: "Janez",
priimek: "Novak",
starost: 50,
velikost: 180
};
Priporočila
- Pri razlagi podatkovnih tipov vedno loči med tipoma
numberinbigint. - Pri natančni razlagi vedno loči med
undefined,nullin praznim nizom"". - Za običajna besedila uporabljaj tip
string, za logične odločitve pa tipboolean. - Pri sestavljenih podatkih uporabljaj objekte in tabele.
- Ubežne znake v nizih uporabljaj le tam, kjer so res potrebni.
Pozor: Tip number ni namenjen zelo velikim celim številom brez omejitev. Za taka števila je v sodobnem JavaScriptu namenjen tip bigint.