In deze zelfstudie leert u aan de hand van voorbeelden over typeconversies in JavaScript.
Het proces van het converteren van een gegevenstype naar een ander gegevenstype wordt typeconversie genoemd. Er zijn twee soorten typeconversie in JavaScript.
- Impliciete conversie
- Expliciete conversie
JavaScript impliciete conversie
In bepaalde situaties converteert JavaScript automatisch het ene gegevenstype naar het andere (naar het juiste type). Dit staat bekend als impliciete conversie.
Voorbeeld 1: impliciete conversie naar tekenreeks
// 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"
Opmerking : wanneer een getal aan een tekenreeks wordt toegevoegd, converteert JavaScript het getal naar een tekenreeks voordat het wordt samengevoegd.
Voorbeeld 2: impliciete conversie naar nummer
// 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
Voorbeeld 3: niet-numerieke tekenreeksresultaten naar 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
Voorbeeld 4: impliciete Booleaanse conversie naar getal
// 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
Opmerking: JavaScript beschouwt 0 als false
en alle niet-nulgetallen als true
. En als het true
wordt geconverteerd naar een getal, is het resultaat altijd 1.
Voorbeeld 5: null-conversie naar nummer
// null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4
Voorbeeld 6: ongedefinieerd gebruikt met getal, boolean of 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
JavaScript expliciete conversie
U kunt ook het ene gegevenstype naar het andere converteren volgens uw behoeften. De typeconversie die u handmatig uitvoert, staat bekend als expliciete typeconversie.
In JavaScript worden expliciete typeconversies uitgevoerd met behulp van ingebouwde methoden.
Hier zijn enkele veelgebruikte methoden voor expliciete conversies.
1. Converteer expliciet naar getal
Om numerieke tekenreeksen en booleaanse waarden in getallen om te zetten, kunt u Number()
. Bijvoorbeeld,
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
In JavaScript null
retourneren lege tekenreeksen en waarden 0 . Bijvoorbeeld,
let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0
Als een string een ongeldig getal is, is het resultaat NaN
. Bijvoorbeeld,
let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN
Opmerking : U kunt ook het genereren van nummers uit strings met behulp van parseInt()
, parseFloat()
, unaire operator +
en Math.floor()
. Bijvoorbeeld,
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. Converteer expliciet naar tekenreeks
Om andere gegevenstypen naar strings te converteren, kunt u String()
of gebruiken toString()
. Bijvoorbeeld,
//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"
Opmerking : String()
neemt null
en undefined
en converteert ze naar een string. Echter, toString()
geeft fout wanneernull are passed.
3. Converteer expliciet naar Boolean
Om andere gegevenstypen naar een booleaanse waarde te converteren, kunt u Boolean().
In JavaScript, undefined
, null
, 0
, NaN
, ''
bekeerlingen false
. Bijvoorbeeld,
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
Alle andere waarden geven true
. Bijvoorbeeld,
result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true
Conversietabel voor JavaScript-typen
De tabel toont de conversie van verschillende waarden naar String, Number en Boolean in 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 |
|
In latere tutorials leer je over de conversie van objecten en arrays naar andere datatypes.
Bezoek deze voorbeelden voor meer informatie:
- JavaScript datums in cijfers
- JavaScript dateert naar strings