Šioje pamokoje su pavyzdžių pagalba sužinosite apie „JavaScript“ tipo konversijas.
Procesas, kai vienas duomenų tipas konvertuojamas į kitą, vadinamas tipo konversija. „JavaScript“ yra dviejų tipų konversijos tipai.
- Numanoma konversija
- Aiškus atsivertimas
„JavaScript“ numanoma konversija
Tam tikrose situacijose „JavaScript“ automatiškai konvertuoja vieną duomenų tipą į kitą (į tinkamą tipą). Tai vadinama numanomu atsivertimu.
1 pavyzdys: numanoma konversija į eilutę
// 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"
Pastaba : Kai prie eilutės pridedamas skaičius, „JavaScript“ konvertuoja skaičių į eilutę prieš sujungimą.
2 pavyzdys: numanoma konversija į skaičių
// 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
3 pavyzdys: Ne skaitinių eilučių rezultatai prie 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
4 pavyzdys: numanoma loginė konversija į skaičių
// 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
Pastaba: „ JavaScript“ vertina 0 kaip false
visus nulinius skaičius true
. Jei true
konvertuojamas į skaičių, rezultatas visada yra 1.
5 pavyzdys: null konversija į skaičių
// null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4
6 pavyzdys: neapibrėžtas naudojamas su skaičiumi, loginė arba nulinė reikšmė
// 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
„JavaScript“ aiški konversija
Taip pat galite konvertuoti vieną duomenų tipą į kitą pagal savo poreikius. Tipo konversija, kurią atliekate rankiniu būdu, vadinama aiškia tipo konversija.
„JavaScript“ sistemoje atviro tipo konversijos atliekamos naudojant įmontuotus metodus.
Štai keli įprasti aiškių konversijų metodai.
1. Aiškiai konvertuokite į skaičių
Norėdami konvertuoti skaitines eilutes ir logines reikšmes į skaičius, galite naudoti Number()
. Pavyzdžiui,
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
„JavaScript“ tuščios eilutės ir null
reikšmės pateikia 0 . Pavyzdžiui,
let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0
Jei eilutė yra neteisingas skaičius, rezultatas bus NaN
. Pavyzdžiui,
let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN
Pastaba : Jūs taip pat gali generuoti numerius iš stygos per parseInt()
, parseFloat()
, unarinį operatorių +
ir Math.floor()
. Pavyzdžiui,
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. Konvertuokite į stygas aiškiai
Norėdami konvertuoti kitus duomenų tipus į eilutes, galite naudoti String()
arba toString()
. Pavyzdžiui,
//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"
Pastaba : String()
ima null
ir undefined
konvertuoja juos į eilutes. Tačiau toString()
suteikia klaidą, kainull are passed.
3. Aiškiai konvertuokite į loginę reikšmę
Norėdami konvertuoti kitus duomenų tipus į loginę, galite naudoti Boolean().
Be JavaScript undefined
, null
, 0
, NaN
, ''
konvertuoja false
. Pavyzdžiui,
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
Visos kitos vertybės duoda true
. Pavyzdžiui,
result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true
„JavaScript“ tipo konversijos lentelė
Lentelėje parodytas skirtingų reikšmių konvertavimas į eilutę, skaičių ir loginę reikšmę „JavaScript“.
Value | String Conversion | Number Conversion | Boolean Conversion |
1 | "1" | 1 |
|
0 | "0" | 0 |
|
"1" | "1" | 1 |
|
"0" | "0" | 0 |
|
"ten" | "ten" |
|
|
| "true" | 1 |
|
| "false" | 0 |
|
| "null" | 0 |
|
| "undefined" |
|
|
'' | "" | 0 |
|
' ' | " " | 0 |
|
Apie objektų ir masyvų konvertavimą į kitus duomenų tipus sužinosite vėlesnėse mokymo programose.
Norėdami sužinoti daugiau, apsilankykite šiuose pavyzdžiuose:
- „JavaScript“ skaičiai
- „JavaScript“ datos iki eilučių