Převody typu JavaScript (s příklady)

V tomto kurzu se na příkladech dozvíte o převodu typů v JavaScriptu.

Proces převodu jednoho datového typu na jiný datový typ se nazývá převod typu. V JavaScriptu existují dva typy převodu typů.

  • Implicitní převod
  • Explicitní převod

Implicitní převod JavaScriptu

V určitých situacích JavaScript automaticky převede jeden datový typ na jiný (na správný typ). Toto se nazývá implicitní převod.

Příklad 1: Implicitní převod na řetězec

 // numeric string used with + gives string type let result; result = '3' + 2; console.log(result) // "32" result = '3' + true; console.log(result); // "3true" result = '3' + undefined; console.log(result); // "3undefined" result = '3' + null; console.log(result); // "3null"

Poznámka : Když je do řetězce přidáno číslo, JavaScript jej před zřetězením převede na řetězec.

Příklad 2: Implicitní převod na číslo

 // numeric string used with - , / , * results number type let result; result = '4' - '2'; console.log(result); // 2 result = '4' - 2; console.log(result); // 2 result = '4' * 2; console.log(result); // 8 result = '4' / 2; console.log(result); // 2

Příklad 3: Numerické výsledky řetězce na NaN

 // non-numeric string used with +, - , / , * results to NaN let result; result = 'hello' - 'world'; console.log(result); // NaN result = '4' - 'hello'; console.log(result); // NaN

Příklad 4: Implicitní booleovský převod na číslo

 // if boolean is used, true is 1, false is 0 let result; result = '4' - true; console.log(result); // 3 result = 4 + true; console.log(result); // 5 result = 4 + false; console.log(result); // 4

Poznámka: JavaScript považuje 0 za falsea všechna nenulová čísla za true. A pokud truese převede na číslo, výsledek je vždy 1.

Příklad 5: Nulový převod na číslo

 // null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4

Příklad 6: undefined used with number, boolean or null

 // Arithmetic operation of undefined with number, boolean or null gives NaN let result; result = 4 + undefined; console.log(result); // NaN result = 4 - undefined; console.log(result); // NaN result = true + undefined; console.log(result); // NaN result = null + undefined; console.log(result); // NaN

Explicitní převod JavaScriptu

Můžete také převést jeden datový typ na jiný podle svých potřeb. Převod typu, který provádíte ručně, se označuje jako explicitní převod typu.

V JavaScriptu se převody explicitního typu provádějí pomocí předdefinovaných metod.

Zde jsou některé běžné metody explicitních převodů.

1. Převést na číslo výslovně

Chcete-li převést číselné řetězce a logické hodnoty na čísla, můžete použít Number(). Například,

 let result; // string to number result = Number('324'); console.log(result); // 324 result = Number('324e-1') console.log(result); // 32.4 // boolean to number result = Number(true); console.log(result); // 1 result = Number(false); console.log(result); // 0

V JavaScriptu prázdné řetězce a nullhodnoty vracejí 0 . Například,

 let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0

Pokud je řetězec neplatným číslem, bude výsledek NaN. Například,

 let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN

Poznámka : Můžete také generovat čísla z řetězců s využitím parseInt(), parseFloat(), unární operátor +a Math.floor(). Například,

 let result; result = parseInt('20.01'); console.log(result); // 20 result = parseFloat('20.01'); console.log(result); // 20.01 result = +'20.01'; console.log(result); // 20.01 result = Math.floor('20.01'); console.log(result); // 20

2. Převést na řetězec výslovně

Chcete-li převést jiné datové typy na řetězce, můžete použít buď String()nebo toString(). Například,

 //number to string let result; result = String(324); console.log(result); // "324" result = String(2 + 4); console.log(result); // "6" //other data types to string result = String(null); console.log(result); // "null" result = String(undefined); console.log(result); // "undefined" result = String(NaN); console.log(result); // "NaN" result = String(true); console.log(result); // "true" result = String(false); console.log(result); // "false" // using toString() result = (324).toString(); console.log(result); // "324" result = true.toString(); console.log(result); // "true"

Poznámka : String()vezme nulla undefinedpřevede je na řetězec. Nicméně, toString()dává chybu, kdyžnull are passed.

3. Explicitně převést na Boolean

Chcete-li převést další datové typy na booleovské hodnoty, můžete použít Boolean().

V JavaScriptu undefined, null, 0, NaN, ''obrácených k false. Například,

  let result; result = Boolean(''); console.log(result); // false result = Boolean(0); console.log(result); // false result = Boolean(undefined); console.log(result); // false result = Boolean(null); console.log(result); // false result = Boolean(NaN); console.log(result); // false

Všechny ostatní hodnoty dávají true. Například,

  result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true

Tabulka převodu typu JavaScript

Tabulka ukazuje převod různých hodnot na String, Number a Boolean v JavaScriptu.

Value String Conversion Number Conversion Boolean Conversion
1 "1" 1 true
0 "0" 0 false
"1" "1" 1 true
"0" "0" 0 true
"ten" "ten" NaN true
true "true" 1 true
false "false" 0 false
null "null" 0 false
undefined "undefined" NaN false
'' "" 0 false
' ' " " 0 true

O převodu objektů a polí na jiné datové typy se dozvíte v dalších výukách.

Navštivte tyto příklady a dozvíte se více:

  • Data JavaScript k číslům
  • Data JavaScript k řetězcům

Zajímavé články...