Porovnání hodnot v JavaScriptu (== a ===)
Tabulka, které hodnoty se v JavaScriptu rovnají podle ==, === a Object.is(), s vysvětlením převodu typů krok po kroku. Anglicky JavaScript equality table.
Vše se počítá přímo v tomto prohlížeči — žádná data nikam neodcházejí.
Tabulka rovnosti
- rovná se podle === (a tedy i ==)
- rovná se jen podle == (po převodu typů)
- nerovná se
- hodnota je pravdivá v
if (x)
| if (x) | true | false | 1 | 0 | -1 | "true" | "false" | "1" | "0" | "-1" | "" | null | undefined | Infinity | -Infinity | [] | {} | [[]] | [0] | [1] | NaN | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| true | ✓ | |||||||||||||||||||||
| false | – | |||||||||||||||||||||
| 1 | ✓ | |||||||||||||||||||||
| 0 | – | |||||||||||||||||||||
| -1 | ✓ | |||||||||||||||||||||
| "true" | ✓ | |||||||||||||||||||||
| "false" | ✓ | |||||||||||||||||||||
| "1" | ✓ | |||||||||||||||||||||
| "0" | ✓ | |||||||||||||||||||||
| "-1" | ✓ | |||||||||||||||||||||
| "" | – | |||||||||||||||||||||
| null | – | |||||||||||||||||||||
| undefined | – | |||||||||||||||||||||
| Infinity | ✓ | |||||||||||||||||||||
| -Infinity | ✓ | |||||||||||||||||||||
| [] | ✓ | |||||||||||||||||||||
| {} | ✓ | |||||||||||||||||||||
| [[]] | ✓ | |||||||||||||||||||||
| [0] | ✓ | |||||||||||||||||||||
| [1] | ✓ | |||||||||||||||||||||
| NaN | – |
[] a false
| [] == false | true |
|---|---|
| [] === false | false |
| Object.is([], false) | false |
Proč [] == false vyjde true
- Boolean se převede na číslo: false → 0.
- Pole se převede na primitivní hodnotu (valueOf, pak toString): [] → "".
- Řetězec se převede na číslo: "" → 0.
- Stejný typ (číslo), porovná se jako ===: 0 === 0 → true.
Jak použít: Porovnání hodnot v JavaScriptu (== a ===)
Tabulka ukazuje, které hodnoty JavaScript považuje za rovné. Volná rovnost == před porovnáním převádí typy, proto platí třeba [] == false nebo "1" == true. Striktní === typy nepřevádí a Object.is() navíc odliší NaN a -0. Po kliknutí na buňku nástroj krok po kroku vysvětlí, jak výsledek vznikl.
- V poli
Porovnánívyber, jestli chceš vidět==a===v jedné tabulce, nebo jen jeden způsob porovnání. - Klikni na buňku (nebo se v tabulce pohybuj šipkami) a pod tabulkou uvidíš všechna tři porovnání dvojice.
- Seznam kroků ukáže, jak
==převádí boolean, řetězec a objekt až na výsledek.
Časté chyby a tipy
- Používej ===
- Volná rovnost je zdrojem nečekaných chyb. Jediná běžná výjimka je
x == null, které zachytínulliundefinednajednou. - Objekty se porovnávají odkazem
[] == []i{} === {}vrátí false, protože jde o dva různé objekty. Obsah polí porovnej po prvcích nebo přesJSON.stringify.- Pravdivé hodnoty
- Sloupec
if (x)ukazuje, co projde podmínkou. Pozor,"0"a[]jsou pravdivé, i když se volně rovnají false.
Nástroj je zdarma a běží celý v tvém prohlížeči — vložená data se nikam neodesílají ani neukládají.
Další nástroje v kategorii Web a ladění
- JWT dekodér a ověření podpisu Dekódování JWT tokenu, kontrola platnosti (exp, nbf, iat) a ověření podpisu.
- Tester regulárních výrazů Tester regexů pro JavaScript, PHP, Python, Go, .NET, Javu i Rust: shody, vysvětlení, mapa výrazu, náhrada, testy a hotový kód.
- Kontrola a vyčištění SVG Kontrola SVG na skripty, zakódované stránky v Base64, vložené soubory, phishingové formuláře a externí zdroje a jejich bezpečné odstranění.
- Validátor XML feedu pro Heureku a Zboží.cz Kontrola produktového XML feedu podle specifikace Heureka.cz a Zboží.cz: povinné elementy, formát ceny, dostupnosti a EAN, kódy dopravců, duplicitní ITEM_ID a jmenný prostor.
- Náhled HTML a CSS Bezpečný náhled HTML a CSS v izolovaném rámu s výběrem šířky zařízení.
- Porovnání dvou textů (diff) Porovnání dvou textů po řádcích, slovech nebo znacích, včetně unified diff.
- Náhled Markdownu Živý náhled Markdownu (GitHub Flavored) s bezpečným HTML výstupem.
- Převodník barev (HEX, RGB, HSL, OKLCH) Převod barev mezi HEX, RGB, HSL, HWB, OKLCH a Lab s kontrastem podle WCAG.
- Vysvětlení cron výrazu Popis cron výrazu česky, výpis dalších spuštění a převod na crontab, systemd timer, launchd (macOS) a Plánovač úloh Windows.
- Dekodér certifikátů X.509 Rozbor certifikátů X.509: subjekt, platnost, klíč, alternativní názvy, rozšíření a otisky.
- Porovnání XML Strukturní porovnání dvou XML dokumentů s cestou ke každé změně.
- Porovnání JSON Sémantické porovnání dvou JSON dokumentů bez ohledu na pořadí klíčů.
- IP a CIDR kalkulačka Rozbor IPv4 a IPv6 adres a sítí: maska, rozsah hostitelů, broadcast, typ adresy a kontrola příslušnosti.
- Rozbor řetězce User-Agent Rozpoznání prohlížeče, jádra, operačního systému a zařízení z řetězce User-Agent.
- Rozbor e-mailových hlaviček Rozbor hlaviček e-mailu: odesílatel, předmět, datum, cesta zprávy přes servery (Received) a všechny hlavičky.
- ASN.1 / DER dekodér Výpis struktury ASN.1 DER z PEM, Base64 nebo Hex: typy, OID se jmény, vnořené struktury (certifikáty, klíče).
- Kontrast barev podle WCAG Kontrastní poměr textu a pozadí podle WCAG 2.2 (AA, AAA) a APCA pro barvy v libovolném CSS zápisu, s náhledem a návrhem vyhovující barvy.
- Kalkulačka specificity CSS Výpočet specificity CSS selektorů včetně :is(), :not(), :has() a :where(), barevný rozbor a seřazení podle síly.
- Kódy kláves v JavaScriptu Stiskni klávesu a uvidíš event.key, event.code, keyCode a location, s ukázkou obsluhy a tabulkou kódů kláves.
- Responzivní logo Jak udělat logo, které se na užší obrazovce zjednoduší: živá ukázka, postup a hotový kód s container query, <picture> nebo SVG spritem.