Převod řetězce na booleovský v JavaScriptu s příklady

Tento výukový program vám ukáže, jak převést hodnotu řetězce na boolean v JavaScriptu, s příklady funkčního kódu pro několik situací.

Proč převádíte řetězce na logické hodnoty?

Ve skutečnosti byste neměli ukládat booleovská data do řetězce, ale existuje několik scénářů, kdy to může nastat:

  • Booleovské hodnoty vyplývající ze vstupu uživatele
  • Hodnoty převzaté z prvků formuláře HTML, které mohou obsahovat pouze řetězcové hodnoty
  • Data převzatá ze špatně naformátovaných zdrojů třetích stran, jako jsou rozhraní API nebo soubory CSV

Jakmile budete mít data obsahující booleovské hodnoty jako řetězce, musíte určit, jakou formu tyto řetězce mají a co bude považováno za PRAVDU hodnotu.

Jak nastavit pravdivé/nepravdivé hodnoty booleovských řetězců v JavaScriptu

Pro tento úkol není ve skutečnosti potřeba znovu použitelná funkce – převod z hodnoty řetězce na booleovskou hodnotu je jednoduše výsledkem jediného srovnání.

V níže uvedeném příkladu je očekávaná hodnota pro hodnotu TRUE v řetězci „true“ – hodnota řetězce, která se má převést, se porovná s touto očekávanou hodnotou a vrátí se booleovská hodnota podle toho, zda se jedná o shodu:

var stringValue = "true";
var booleanValue = (stringValue === "true"); // Results in a boolean value of TRUE as it is a match for "true"

var stringValue = "false";
var booleanValue = (stringValue === "true"); // Results in a boolean value of FALSE as it is not a match for "true"

Podobně, pokud očekáváte „1“ pro hodnotu true (a „0“ pro nepravdu), protože některé booleovské hodnoty jsou uloženy numericky a mohly být převedeny na řetězce:

var stringValue = "1";
var booleanValue = (stringValue === "1"); // Results in a boolean value of TRUE as it is a match for "1"

var stringValue = "0";
var booleanValue = (stringValue === "1"); // Results in a boolean value of FALSE as it is not a match for "1"

Musíte použít přísnou rovnost === operátora, aby bylo zajištěno, že hodnota proměnné i typ budou při porovnávání stejné – jinak mohou nevhodná srovnání vést k neočekávanému chování.

Udržujte ve svých typech pořádek

Pokud generujete vlastní data a ukládáte booleovské hodnoty jako řetězce, zvažte jejich uložení jako hodnotu typu boolean nebo použití formátu, který podporuje booleovské hodnoty. Chyby typu jsou v aplikacích JavaScriptu běžným bodem selhání, takže udržování správného typu dat nebo jejich převod na správný typ co nejdříve a zřídka, může výrazně snížit množství ladění, které budete muset provádět později. zapnuto.