Datový typ definuje typ a chování dat – říká kompilátoru nebo interpretu, jak programátor zamýšlí použít část dat. Většina programovacích jazyků podporuje základní datové typy jako číslo, boolean, řetězec atd.

JavaScript podporuje osm datových typů: Number, BigInt, Boolean, String, Null, Undefined, Symbol a Object. V tomto článku se dozvíte o všech osmi typech dat JavaScript a jak je používat.

Datové typy JavaScriptu

Datové typy v JavaScriptu lze obecně rozdělit do dvou kategorií: Primitivní datové typy a Neprimitivní datové typy. Objekt je neprimitivní nebo komplexní datový typ a zbytek jsou primitivní datové typy.

JavaScript je dynamicky typovaný jazyk, což znamená, že typy proměnných jsou kontrolovány za běhu. Stejná proměnná může kdykoli obsahovat hodnoty různých typů.

Například:

// x je řetězec
nechť x = "Ahoj světe";
// x je číslo
x = 100;
// x je nyní booleovský
x = pravda;

Pokud chcete najít aktuální datový typ proměnné, použijte Typ operátor.

// x je řetězec
nechť x = "Ahoj světe";
console.log (typeof (x));
// x je číslo
x = 100;
console.log (typeof (x));
// x je nyní booleovský
x = pravda;
console.log (typeof (x));

Výstup:

tětiva
číslo
booleovský

1. Typ dat čísla v JavaScriptu

Datový typ čísla v JavaScriptu používá IEEE-754 formát reprezentující jak celá čísla, tak čísla s plovoucí desetinnou čárkou. V JavaScriptu můžete provádět mnoho operací s čísly, jako je sčítání, odčítání, dělení, násobení a tak dále. Chcete-li provádět složitější operace, můžete použít vestavěný Matematický objekt.

Několik příkladů vytváření čísel v JavaScriptu:

// Použití doslovné deklarace
nechť n1 = 100;
nech n2 = 456,234;
// Použití konstruktoru Number().
nech n3 = číslo (100);
// Převod na celé číslo
let n4 = Number.parseInt("456.234");
// Převod na float
let n5 = Number.parseFloat("456.234");
let n6 = Number.parseFloat("1.13e3");
// Unární převod na číslo
nechť n7 = +"345";
console.log (n1);
console.log (n2);
console.log (n3);
console.log (n4);
console.log (n5);
console.log (n6);
console.log (n7);

Výstup:

100
456.234
100
456
456.234
1130
345

Celá čísla

Následující příkaz vytvoří proměnnou obsahující celé číslo:

nechť x = 21;

Pokud chcete vytvořit osmičkové (základ 8) literály, musíte použít 0o prefix s posloupností osmičkových číslic (číslice od 0 do 7).

nechť x = 0o53;
console.log (x);

Výstup:

43

Podobně, pokud chcete vytvořit hexadecimální (základ 16) literály, použijte 0x prefix s posloupností hexadecimálních číslic (0 až 9 a A až F).

nechť x = 0x53;
console.log (x);

Výstup:

83

Čísla s plovoucí desetinnou čárkou

Následující příkaz vytvoří proměnnou obsahující číslo s plovoucí desetinnou čárkou:

nechť x = 324,56;

K reprezentaci velmi velkých nebo velmi malých čísel můžete použít e-notaci.

nechť x = 1,13e6;
console.log (x);

Výstup:

1130000

JavaScript také poskytuje další speciální číselné hodnoty, které patří do číslo datový typ – NaN, Infinity a -Infinity.

  • NaN: NaN znamená Ne Číslo což znamená neplatné číslo. Pokud například rozdělíte řetězec a číslo, výsledkem bude NaN.
    console.log("MakeUseOf"/10);
    Výstup:
    NaN
    Je zajímavé, že NaN se nerovná ničemu, včetně sebe sama.
    console.log (NaN == NaN);
    console.log (NaN == ("MakeUseOf"/10));
    console.log (NaN NaN);
    Výstup:
    Nepravdivé
    Nepravdivé
    Nepravdivé
    Také pokud matematický výraz někde obsahuje NaN, výsledkem je vždy NaN.
  • Nekonečno a -nekonečno: Nekonečno a -Nekonečno představuje matematické a -∞ resp.

2. Typ dat BigInt v JavaScriptu

BigInt je primitivní datový typ v JavaScriptu, který může reprezentovat celá čísla s libovolnou přesností. Protože datový typ čísla nemůže reprezentovat hodnoty větší než (2⁵³-1) nebo hodnoty menší než -(2⁵³-1), používá se v takových případech BigInt k reprezentaci velmi velkých nebo malých čísel.

Čísla BigInt se používají zřídka. Ale pokud opravdu potřebujete reprezentovat velká čísla, např. pro kryptografii, výpočet faktoriálu velkého čísla představující hmotnost Slunce, časová razítka s přesností na mikrosekundu atd., BigInt je to, co chcete použít.

Přidáním můžete vytvořit hodnotu BigInt n na konec celého čísla nebo pomocí konstruktoru.

let big1 = 78649264972634817648747234872634876243862348763467547n;
let big2 = BigInt("78649264972634817648747234872634876243862348763467547");
console.log (velký1);
console.log (big2);

Výstup:

78649264972634817648747234872634876243862348763467547n
78649264972634817648747234872634876243862348763467547n

Datový typ BigInt je relativně nedávným přírůstkem jazyka a v současnosti jej podporují téměř všechny prohlížeče kromě Internet Exploreru.

3. Booleovský datový typ v JavaScriptu

Booleovský datový typ může mít dvě hodnoty: skutečný a Nepravdivé. Booleovské hodnoty jsou výsledkem logického srovnání.

nechť x1 = pravda;
console.log (x1);
nechť x2 = !true;
console.log (x2);
nechť x3 = !!pravda;
console.log (x3);
nechť x4 = (nepravda && pravda);
console.log (x4);
nechť x5 = (nepravda || pravda);
console.log (x5);
nechť x6 = (2 == "2");
console.log (x6);
nechť x7 = (2 "2");
console.log (x7);
let x8 = (null nedefinováno);
console.log (x8);
nechť x9 = (0 == "");
console.log (x9);
nechť x10 = (100 > 12);
console.log (x10);

Výstup:

skutečný
Nepravdivé
skutečný
Nepravdivé
skutečný
skutečný
Nepravdivé
Nepravdivé
skutečný
skutečný

Hodnotu jakéhokoli jiného datového typu můžete převést na booleovský datový typ pomocí Boolean() funkce.

// Řetězce
console.log (Boolean(''));
console.log (Boolean('abc'));
console.log (Boolean('123'));
// Čísla
console.log (logická hodnota (0));
console.log (logická hodnota (1));
console.log (Boolean(-1));
console.log (Boolean (NaN));
console.log (Boolean (Infinity));
// Ostatní
console.log (Boolean([1, 2, 3]));
console.log (logická hodnota (nedefinováno));
console.log (Boolean (null));

Výstup:

Nepravdivé
skutečný
skutečný
Nepravdivé
skutečný
skutečný
Nepravdivé
skutečný
skutečný
Nepravdivé
Nepravdivé

4. Datový typ řetězce v JavaScriptu

Řetězec je posloupnost nula nebo více znaků. Řetězce v JavaScriptu jsou neměnné a používají se hlavně k reprezentaci textových dat. Indexování řetězců začíná od 0, tj. první prvek je na indexu 0, druhý na 1 a tak dále.

Řetězce musí být ohraničeny uvozovkami. K vytvoření řetězce můžete použít kterýkoli ze tří typů uvozovek: jednoduché uvozovky, dvojité uvozovky nebo zpětné uvozovky.

Jednoduché a dvojité uvozovky dělají prakticky totéž, ale řetězec, který začíná dvojitou uvozovkou, musí končit dvojitou uvozovkou. Stejné pravidlo platí i pro jednoduché uvozovky.

let str1 = "Ahoj";
let str2 = 'Ahoj';
let str3 = "Jak se máš?";
// Použití \ k ukončení jednoduché uvozovky (')
let str4 = 'Jak se máš?';

Backticks jsou šablonové literály a poskytují některé rozšířené funkce. Do řetězce můžete vložit proměnné, výrazy a dokonce i volání funkcí.

// Vložení proměnné do řetězce
nechť x = "Ahoj";
let str1 = `${x}, Jak se máš?`;
console.log (str1);
// Vložení výrazu do řetězce
nechť str2 = `Součet 20 + 30 je: ${20 + 30}`;
console.log (str2);
// Vložení volání funkce do řetězce
funkce vypočítatSoučet (a, b) {
vrátit a + b;
}
nech str3 = `Součet 20 + 30 je: ${calculateSum (20, 30)}`;
console.log (str3);

Výstup:

Ahoj, jak se máš?
Součet 20 + 30 je: 50
Součet 20 + 30 je: 50

JavaScript také poskytuje několik metod String manipulovat se strunami.

5. Typ dat Null v JavaScriptu

Datový typ null má pouze jednu hodnotu: nula. Představuje záměrnou absenci jakékoli hodnoty objektu.

nechť n = null;

Mnoho programátorů se plete mezi null a undefined. Je těžké to pochopit rozdíl mezi null a undefined v JavaScriptu.

6. Nedefinovaný datový typ v JavaScriptu

Nedefinovaný typ je speciální typ, který znamená „hodnota není přiřazena“. Když deklarujete proměnnou, ale neinicializujete ji, je proměnné přiřazena nedefinovaná hodnota.

nechť x;
console.log (typeof (x));

Výstup:

nedefinováno

K proměnné můžete explicitně přiřadit nedefinované, ale důrazně se doporučuje se tomu vyhnout.

Příbuzný: JavaScript nastavit metody, které byste měli zvládnout dnes

7. Typ dat symbolu v JavaScriptu

Symbol je jedinečná a neměnná primitivní hodnota. Používá se hlavně k vytváření jedinečných identifikátorů objektů.

Symbol můžete vytvořit pomocí Symbol() funkce. Přijímá také volitelný popis (název), ale pouze pro účely ladění.

nech sym1 = Symbol();
let sym2 = Symbol("data");

The Symbol() Funkce vytvoří novou jedinečnou hodnotu pokaždé, když je volána, i když vytvoříte symboly se stejným popisem, hodnoty by se lišily.

console.log (Symbol() == Symbol());
console.log (Symbol("data") == Symbol("data"));

Výstup:

Nepravdivé
Nepravdivé

Příbuzný: Mapové metody JavaScript, které byste měli zvládnout ještě dnes

8. Typ dat objektu v JavaScriptu

V JavaScriptu jsou objekty kolekce párů klíč-hodnota, kde klíčem je řetězec a hodnotou může být libovolný datový typ.

V JavaScriptu můžete vytvořit prázdný objekt pomocí syntaxe "konstruktor objektu" (nový objekt()) nebo syntaxe "objektového literálu" (složené závorky {...}).

let obj1 = new Object();
nech obj2 = {};

Každý objekt obsahuje volitelný seznam vlastností, kde vlastnost je pár klíč: hodnota. K hodnotám z objektu můžete přistupovat pomocí tečkové notace nebo notace podobné poli (hranaté závorky).

nechť obj = {
"key1": "value1",
"key2": "value2"
}
console.log (obj.key1);
console.log (obj["key2"]);

Výstup:

hodnota1
hodnota2

Jak JavaScript funguje?

JavaScript je dnes jedním z nejpopulárnějších programovacích jazyků na webu. JavaScript můžete použít k vytváření webových stránek, webových aplikací, serverových aplikací, her, mobilních aplikací atd. Stačí říci, že s JavaScriptem můžete dělat téměř vše, co si vymyslíte.

Ale víte, jak funguje JavaScript pod kapotou?

Co je JavaScript a jak funguje?

Pokud se učíte vývoj webových aplikací, zde je to, co potřebujete vědět o JavaScriptu a o tom, jak funguje s HTML a CSS.

Přečtěte si další

PodíltweetE-mailem
Související témata
  • Programování
  • JavaScript
  • Programování
  • Tipy pro kódování
  • Vývoj webu
O autorovi
Yuvraj Chandra (72 zveřejněných článků)

Yuvraj je vysokoškolským studentem informatiky na univerzitě v Dillí v Indii. Je nadšený pro Full Stack Web Development. Když nepíše, zkoumá hloubku různých technologií.

Více od Yuvraj Chandra

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem