Datové typy JavaScriptu
Proměnné JavaScriptu mohou obsahovat různé typy dat: čísla, řetězce, objekty a další:
let length = 16; // Number
let lastName = "Johnson"; // String
let x = {firstName:"John", lastName:"Doe"}; // Object
Koncepce datových typů
V programování jsou datové typy důležitým pojmem.
Aby bylo možné s proměnnými pracovat, je důležité o typu něco vědět.
Bez datových typů nemůže počítač toto bezpečně vyřešit:
let x = 16 + "Volvo";
Má vůbec smysl přidávat k šestnáctce „Volvo“? Dojde k chybě nebo k výsledku?
JavaScript bude výše uvedený příklad považovat za:
let x = "16" + "Volvo";
Při přidávání čísla a řetězce bude JavaScript považovat číslo za řetězec.
Příklad
let x = 16 + "Volvo";
Příklad
let x = "Volvo" + 16;
JavaScript vyhodnocuje výrazy zleva doprava. Různé sekvence mohou přinést různé výsledky:
JavaScript:
let x = 16 + 4 + "Volvo";
Výsledek:
20Volvo
JavaScript:
let x = "Volvo" + 16 + 4;
Výsledek:
Volvo164
V prvním příkladu JavaScript považuje 16 a 4 za čísla, dokud nedosáhne „Volvo“.
Ve druhém příkladu, protože první operand je řetězec, jsou všechny operandy považovány za řetězce.
Typy JavaScriptu jsou dynamické
JavaScript má dynamické typy. To znamená, že stejnou proměnnou lze použít k uložení různých datových typů:
Příklad
let x; // Now x is undefined
x = 5; // Now x is a Number
x = "John"; // Now x is a String
JavaScriptové řetězce
Řetězec (nebo textový řetězec) je řada znaků jako "John Doe".
Řetězce jsou psány s uvozovkami. Můžete použít jednoduché nebo dvojité uvozovky:
Příklad
let carName1 = "Volvo XC60"; // Using double quotes
let carName2 = 'Volvo XC60'; // Using single quotes
Uvozovky můžete použít uvnitř řetězce, pokud se neshodují s uvozovkami obklopujícími řetězec:
Příklad
let answer1 = "It's alright";
// Single quote inside double quotes
let answer2 = "He is called 'Johnny'";
// Single quotes inside double quotes
let answer3 = 'He is called "Johnny"';
// Double quotes inside single quotes
Více o řetězcích se dozvíte později v tomto tutoriálu.
JavaScriptová čísla
JavaScript má pouze jeden typ čísel.
Čísla lze psát s desetinnými místy nebo bez nich:
Příklad
let x1 = 34.00; // Written with decimals
let x2 = 34; // Written without decimals
Extra velká nebo extra malá čísla lze zapsat vědeckým (exponenciálním) zápisem:
Příklad
let y = 123e5; // 12300000
let z = 123e-5; // 0.00123
Více o číslech se dozvíte později v tomto tutoriálu.
JavaScript Booleans
Booleovské hodnoty mohou mít pouze dvě hodnoty: true
nebo false
.
Příklad
let x = 5;
let y = 5;
let z = 6;
(x == y)
// Returns true
(x == z) // Returns
false
Booleovské hodnoty se často používají při podmíněném testování.
Více o podmíněném testování se dozvíte později v tomto tutoriálu.
Pole JavaScriptu
Pole JavaScriptu se zapisují s hranatými závorkami.
Položky pole jsou odděleny čárkami.
Následující kód deklaruje (vytváří) pole s názvem cars
, obsahující tři položky (názvy aut):
Příklad
const cars = ["Saab", "Volvo", "BMW"];
Indexy pole jsou založeny na nule, což znamená, že první položka je [0], druhá je [1] a tak dále.
Více o polích se dozvíte později v tomto tutoriálu.
Objekty JavaScriptu
Objekty JavaScriptu se píší se složenými závorkami {}
.
Vlastnosti objektu se zapisují jako dvojice název:hodnota, oddělené čárkami.
Příklad
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Objekt (osoba) ve výše uvedeném příkladu má 4 vlastnosti: firstName, lastName, age a eyeColor.
Více o objektech se dozvíte později v tomto tutoriálu.
Typ Operátora
typeof
K vyhledání typu proměnné JavaScriptu můžete použít operátor JavaScript.
Operátor typeof
vrací typ proměnné nebo výrazu:
Příklad
typeof "" // Returns
"string"
typeof "John" // Returns
"string"
typeof "John Doe" // Returns
"string"
Příklad
typeof 0 // Returns
"number"
typeof 314 // Returns
"number"
typeof 3.14 // Returns
"number"
typeof (3) // Returns
"number"
typeof (3 + 4) // Returns
"number"
Více o typeof se dozvíte později v tomto tutoriálu.
Nedefinováno
V JavaScriptu má proměnná bez hodnoty hodnotu undefined
. Typ je také undefined
.
Příklad
let car; // Value is undefined,
type is undefined
Libovolnou proměnnou lze vyprázdnit nastavením hodnoty na undefined
. Typ bude také undefined
.
Příklad
car = undefined; // Value is undefined,
type is undefined
Prázdné hodnoty
Prázdná hodnota nemá nic společného s undefined
.
Prázdný řetězec má právní hodnotu i typ.
Příklad
let car = ""; //
The value is
"", the typeof is "string"