Cookies

Na naší webové stránce používáme soubory cookies pro její správné fungování, přizpůsobení analytických dat a dynamiky obsahu pro uživatele. Více informací o cookies.

Potvrzením zároveň ukládáte souhlas se zpracováním osobních údajů v rámci nařízení GDPR.

Čísla v JavaScriptu

Zpracování číselných hodnot
Předchozí Následující

#1 Čísla

JavaScript má čísla udělána jednoduše – existuje pouze jeden typ, se kterým lze libovolně pracovat. Čísla se narozdíl od stringů neuvádějí do žádných uvozovek, jednoduše se jejich číselná hodnota napíše.

const cislo = 4;

Čísla mohou mít také pozice za desetinnou čárkou…

const cislo = 4.54;

…a dlouhá čísla mohou být zapsána takzvanou vědeckou metodou (pomocí exponenciálu)…

const cislo = 2e3; // Číslo za e symbolizuje kolik nul nahrazuje
// Stejné jako
const cislo = 2000;
Upozornění: Pokud uvedeme číslo do uvozovek, stává se z něj string!

#2 Přesnost čísla

JavaScript narozdíl od jiných typických programovacích jazyků nespecifikuje o jaký typ čísla se jedná, například integer, short, long apod. JavaScript má pouze jeden typ – double precision floating point numbers (volně přeloženo jako čísla s plovoucí desetinnou čárkou s dvojnou přesností) – čísla jsou vždy ukládána do 64 bitů.

Z toho důvodu mohou někdy vznikat nepřesnoti, jako je například tato…

const x = 999999999999999;
// x je 999999999999999
const y = 9999999999999999;
// y je 10000000000000000

…nebo tato…

const x = 0.1 + 0.2;
// x je 0.30000000000000004
Tip: S přeností čísla se povětšinou není potřeba vůbec zabývat, ale existuje, a je s ní potřeba počítat při manipulaci s velkými hodnotami.

#3 Operace s čísly

Aritmetika

Čísla lze sčítat, odčítat, dělit, násobit… provádět s nimi aritmetické operace. O operátorech, které se k tomu používají, se dočtete v článku Aritmetika JavaScriptu.

Spojení se stringem

JavaScript nerozlišuje sčítání a spojení, na obě akce používá znaménko +. Z toho důvodu mohou někdy vznikat nečekané situace, které zde vysvětlíme.

Pokud v jakémkoliv pořadí spojíte string a číslo, výsledkem bude vždy string (číslo se pouze přiřadí a bude „fungovat“ jako string).

const x = "10";
const y = 5;
const z = x + y;
// Výsledkem je „105“

Pokud bude prvně nějaký string a poté k němu budeme připojovat čísla, čísla se pouze připojí…

const x = 10;
const y = 5;
const z = "Výsledek: " + x + y;
// Výsledkem je „Výsledek: 105“

…ale pokud toto prohodíme (tzn. nejdříve tam umístíme čísla a až následně připojíme string), čísla se sečtou a až pak se k nim připojí string.

const x = 10;
const y = 5;
const z = x + y + " je výsledek";
// Výsledkem je „15 je výsledek“

Čísla se nejdříve sečtou proto, že JavaScript operuje zleva doprava – čísla sečte (10 + 5) a až následně připojí string, zatímco v prvním případě vždy připojuje číslo ke stringu » pouze ho připojí, nesečte.