TOC

This article has been localized into Czech by the community.

Datové typy:

Čísla

Práce s čísly je velmi důležitá v jakémkoli programovacím jazyce. Interně počítače zpracovávají různé typy čísel (celá čísla, čísla s plovoucí desetinnou čárkou atd.) různými způsoby, takže mnoho programovacích jazyků vás bude žádat o to samé, ale s JavaScriptem můžete různé typy čísel volně kombinovat.

Práce s čísly

Takže například vytvoření proměnné s celým číslem je velmi jednoduché. Je to deklarace a přiřazení čísla do proměnné:

let n = 42;

A pokud chcete desetinné číslo, žádný problém - můžete to udělat stejně snadno. Jednoduše použijte tečku k oddělení celého čísla a desetinné části, takto:

let n = 42.123;

To také znamená, že můžete provádět matematické operace s celými čísly a čísly s plovoucí desetinnou čárkou, jako by to byl tentýž typ, což věci značně zjednodušuje. Zde je příklad:

let n1 = 2, n2 = 40.123;
alert(n1 + n2);

Číselný oddělovač

Při definování velkých čísel se může stát, že je obtížné na první pohled rozpoznat, jak velké číslo je, když čtete kód:

let n1 = 42000000000;

JavaScript může pomoci s trochou syntaktického sladidla ve formě číselného oddělovače - můžete přidávat podtržítka, abyste vytvořili skupiny číslic:

let n1 = 42_000_000_000;
alert(n1);

Převod řetězců na čísla

Někdy chcete vzít něco, co je ve skutečnosti textový řetězec, a pak ho převést na číslo. Pro to jsou k dispozici dvě globálně dostupné funkce: parseInt() a parseFloat(). Jejich názvy jsou poměrně samovysvětlující – jednoduše vezmou textový řetězec, a pokud je to možné, ho převedou na číslo, přičemž předpokládají, že textový řetězec má formu buď celého čísla, nebo čísla s plovoucí desetinnou čárkou.

let n1 = "40", n2 = "2.42";
alert(parseInt(n1) + parseFloat(n2));

Pokud bychom je nejprve nepřevedli na čísla, JavaScript by si myslel, že se snažíme konkatenovat (spojovat) dva řetězce, což by vedlo k hodnotě 402.42 místo požadovaného výsledku 42.42.

Jako alternativu můžete použít metodu Number() - pokusí se vzít jakýkoli typ vstupu a převést jej na číslo.

let n1 = "40", n2 = "2.42";
alert(Number(n1) + Number(n2));

Není číslo (Not a Number - NaN)

I když je JavaScript velmi flexibilní při práci s čísly, budou situace, kdy budete chtít mít absolutní jistotu, že hodnota, kterou držíte, je nebo by mohla být číslo. JavaScript pro to má specifickou, globálně dostupnou konstantu, nazvanou NaN (zkratka pro Not a Number - Není číslo). Bude vrácena několika funkcemi JavaScriptu, pokud se pokusíte udělat něco, co má vrátit číselný výsledek, ale není to možné. Příklad:

alert(parseInt("forty two"));

Zde se od funkce `parseInt()` očekává, že vrátí číslo, ale "forty two" (čtyřicet dva) není skutečně platné číslo, takže aby bylo komunikováno, že to nebylo možné, je místo toho vráceno NaN. To také znamená, že někdy je potřeba zkontrolovat NaN, abyste se ujistili, že výsledek operace byl ve skutečnosti číslo. Zde byste měli použít globálně dostupnou funkci isNaN(), která vám jednoduše řekne, zda předaná hodnota "není číslo":

let n1 = parseInt("forty two");
if(isNaN(n1))
	alert("Sorry, that's not a valid number!");
else
	alert("Cool number!");

BigInt

Běžná čísla v JavaScriptu jsou do jisté míry omezena, pokud jde o to, jak velká nebo malá mohou být. Při práci s celými čísly má běžný číselný typ minimální a maximální hodnotu, kterou můžete vždy zkontrolovat pomocí konstant Number.MIN_SAFE_INTEGER a Number.MAX_SAFE_INTEGER, takto:

alert(Number.MIN_SAFE_INTEGER);
alert(Number.MAX_SAFE_INTEGER);

Pokud potřebujete pracovat s většími čísly, než jsou tyto, můžete použít bigint typ, který je podporován objektem BigInt. BigInt typ můžete specifikovat voláním metody BigInt() na něj nebo připojením písmene n za číslo, takto:

let bigNumber = 429007199254740991n;
alert(bigNumber);
alert(typeof bigNumber);

Pro většinu úloh však pravděpodobně budete moci použít jen typ number - typ bigint je určen pro opravdu, opravdu velká čísla, jak můžete vidět.

Shrnutí

Zabývání se čísly je důležitou součástí téměř každého programovacího úkolu a naštěstí pro nás JavaScript přichází s mnoha funkcemi, které nám to usnadňují.

V pozadí, když deklarujete číslo, jak jsme to udělali v mnoha příkladech tohoto článku, je vytvořen objekt Number. Na tomto objektu najdete ještě více funkcionalit souvisejících s čísly, a všechno to probereme v kapitole o vestavěných objektech, konkrétně v článku o objektu Number.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!