Konverzie typu JavaScript (s príkladmi)

V tomto tutoriáli sa pomocou príkladov dozviete o typových prevodoch v JavaScripte.

Proces prevodu jedného údajového typu na iný údajový typ sa nazýva prevod typu. V JavaScripte existujú dva typy prevodov typov.

  • Implicitná konverzia
  • Explicitná konverzia

Implicitná konverzia JavaScriptu

V určitých situáciách JavaScript automaticky prevádza jeden dátový typ na druhý (na správny typ). Toto sa nazýva implicitná konverzia.

Príklad 1: Implicitná konverzia na reťazec

 // 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 : Keď je do reťazca pridané číslo, JavaScript ho pred zreťazením prevedie na reťazec.

Príklad 2: Implicitný prevod 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

Príklad 3: Výsledky nečíselného reťazca pre 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

Príklad 4: Implicitná boolovská konverzia 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šetky nenulové číslo za true. A ak truesa prevedie na číslo, výsledok je vždy 1.

Príklad 5: Nulový prevod 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

Príklad 6: nedefinované použité s number, boolean alebo 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á konverzia JavaScriptu

Môžete tiež prevádzať jeden dátový typ na druhý podľa svojich potrieb. Prevod typu, ktorý robíte manuálne, sa nazýva explicitný prevod typu.

V JavaScripte sa explicitné prevody typov vykonávajú pomocou zabudovaných metód.

Tu uvádzame niektoré bežné metódy explicitných konverzií.

1. Konvertujte na číslo výslovne

Ak chcete previesť číselné reťazce a logické hodnoty na čísla, môžete použiť Number(). Naprí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 JavaScripte prázdne reťazce a nullhodnoty vrátia 0 . Napríklad,

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

Ak je reťazec neplatné číslo, výsledok bude NaN. Naprí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 tiež generovať čísla z reťazcov s využitím parseInt(), parseFloat(), unárne operátor +a Math.floor(). Naprí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. Explicitne preveďte na reťazec

Ak chcete previesť ďalšie dátové typy na reťazce, môžete použiť buď String()alebo toString(). Naprí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 undefineda prevádza ich na reťazec. Avšak toString()dáva chybu, keďnull are passed.

3. Explicitne konvertujte na Boolean

Ak chcete previesť ďalšie typy údajov na booleovské hodnoty, môžete použiť Boolean().

V JavaScriptu undefined, null, 0, NaN, ''obrátených k false. Naprí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šetky ostatné hodnoty udávajú true. Napríklad,

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

Prevodná tabuľka typov JavaScript

Tabuľka zobrazuje prevod rôznych hodnôt na reťazec, číslo a logickú hodnotu v JavaScripte.

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 konverzii objektov a polí na iné dátové typy sa dozviete v ďalších tutoriáloch.

Ak sa chcete dozvedieť viac, navštívte tieto príklady.

  • Dátumy čísel JavaScript
  • Dátumy JavaScriptu k reťazcom

Zaujímavé články...