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)
Výsledek == a === pro každou dvojici hodnot. Šipkami se přesunuješ mezi buňkami.
if (x)truefalse10-1"true""false""1""0""-1"""nullundefinedInfinity-Infinity[]{}[[]][0][1]NaN
true✓
false–
1✓
0–
-1✓
"true"✓
"false"✓
"1"✓
"0"✓
"-1"✓
""–
null–
undefined–
Infinity✓
-Infinity✓
[]✓
{}✓
[[]]✓
[0]✓
[1]✓
NaN–

[] a false

[] == falsetrue
[] === falsefalse
Object.is([], false)false

Proč [] == false vyjde true

  1. Boolean se převede na číslo: false → 0.
  2. Pole se převede na primitivní hodnotu (valueOf, pak toString): [] → "".
  3. Řetězec se převede na číslo: "" → 0.
  4. 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.

  1. V poli Porovnání vyber, jestli chceš vidět == a === v jedné tabulce, nebo jen jeden způsob porovnání.
  2. Klikni na buňku (nebo se v tabulce pohybuj šipkami) a pod tabulkou uvidíš všechna tři porovnání dvojice.
  3. 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í null i undefined najednou.
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řes JSON.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.