JavaScript- type conversie
- Strings naar getallen converteren
- Getallen converteren naar strings
- Datums naar cijfers converteren
- Getallen converteren naar datums
- Booleans converteren naar getallen
- Getallen converteren naar Booleans
JavaScript-type conversie
JavaScript-variabelen kunnen worden geconverteerd naar een nieuwe variabele en een ander gegevenstype:
- Door het gebruik van een JavaScript-functie
- Automatisch door JavaScript zelf
Strings naar getallen converteren
De globale methode Number()
kan strings naar getallen converteren.
Tekenreeksen met getallen (zoals "3.14") worden omgezet in getallen (zoals 3.14).
Lege strings worden omgezet naar 0.
Al het andere wordt omgezet in NaN
(geen getal).
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
Nummermethoden:
In het hoofdstuk Nummermethodes vind je meer methodes die gebruikt kunnen worden om strings om te zetten naar getallen:
Method | Description |
---|---|
Number() | Returns a number, converted from its argument |
parseFloat() | Parses a string and returns a floating point number |
parseInt() | Parses a string and returns an integer |
De Unary + Operator
De unaire + operator kan worden gebruikt om een variabele naar een getal te converteren:
Voorbeeld
let y = "5";
// y is a string
let x = + y;
// x is a number
Als de variabele niet kan worden geconverteerd, wordt het nog steeds een getal, maar met de waarde NaN
(geen getal):
Voorbeeld
let y = "John";
// y is a string
let x = + y; // x is a number (NaN)
Getallen converteren naar strings
De globale methode String()
kan getallen naar strings converteren.
Het kan worden gebruikt voor elk type getallen, letterlijke waarden, variabelen of uitdrukkingen:
Voorbeeld
String(x) // returns a string from a number variable x
String(123) // returns a string from a number literal 123
String(100 + 23) // returns a string from a number from an expression
De Number-methode toString()
doet hetzelfde.
Voorbeeld
x.toString()
(123).toString()
(100 + 23).toString()
Meer methoden
In het hoofdstuk Getalmethodes vind je meer methodes die gebruikt kunnen worden om getallen om te zetten naar strings:
Method | Description |
---|---|
toExponential() | Returns a string, with a number rounded and written using exponential notation. |
toFixed() | Returns a string, with a number rounded and written with a specified number of decimals. |
toPrecision() | Returns a string, with a number written with a specified length |
Datums naar cijfers converteren
De globale methode Number()
kan worden gebruikt om datums om te zetten in getallen.
d = new Date();
Number(d) // returns 1404568027739
De datummethode getTime()
doet hetzelfde.
d = new Date();
d.getTime() // returns 1404568027739
Datums naar tekenreeksen converteren
De globale methode String()
kan datums naar strings converteren.
String(Date()) // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"
De methode Date toString()
doet hetzelfde.
Voorbeeld
Date().toString() // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"
In het hoofdstuk Datum Methoden vind je meer methodes die gebruikt kunnen worden om datums om te zetten naar strings:
Method | Description |
---|---|
getDate() | Get the day as a number (1-31) |
getDay() | Get the weekday a number (0-6) |
getFullYear() | Get the four digit year (yyyy) |
getHours() | Get the hour (0-23) |
getMilliseconds() | Get the milliseconds (0-999) |
getMinutes() | Get the minutes (0-59) |
getMonth() | Get the month (0-11) |
getSeconds() | Get the seconds (0-59) |
getTime() | Get the time (milliseconds since January 1, 1970) |
Booleans converteren naar getallen
De globale methode Number()
kan ook booleans naar getallen converteren.
Number(false) // returns 0
Number(true) // returns 1
Booleans converteren naar strings
De globale methode String()
kan booleans naar strings converteren.
String(false) // returns "false"
String(true) // returns "true"
De Booleaanse methode toString()
doet hetzelfde.
false.toString() // returns "false"
true.toString() // returns "true"
Automatische typeconversie
Wanneer JavaScript probeert te werken op een "verkeerd" gegevenstype, zal het proberen de waarde om te zetten in een "juist" type.
Het resultaat is niet altijd wat u verwacht:
5 + null // returns 5 because null is converted to 0
"5" + null // returns "5null" because null is converted to "null"
"5" + 2 // returns
"52" because 2 is converted to "2"
"5" - 2 // returns 3 because "5" is converted to 5
"5" * "2" // returns
10 because "5" and "2" are
converted to 5 and 2
Automatische stringconversie
JavaScript roept automatisch de toString()
functie van de variabele aan wanneer u een object of variabele probeert uit te voeren:
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString converts to "[object Object]"
// if myVar = [1,2,3,4] // toString converts to "1,2,3,4"
// if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
Getallen en booleans worden ook geconverteerd, maar dit is niet erg zichtbaar:
// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false"
JavaScript-type conversietabel
Deze tabel toont het resultaat van het converteren van verschillende JavaScript-waarden naar Number, String en Boolean:
Original Value |
Converted to Number |
Converted to String |
Converted to Boolean |
Try it |
---|---|---|---|---|
false | 0 | "false" | false | |
true | 1 | "true" | true | |
0 | 0 | "0" | false | |
1 | 1 | "1" | true | |
"0" | 0 | "0" | true | |
"000" | 0 | "000" | true | |
"1" | 1 | "1" | true | |
NaN | NaN | "NaN" | false | |
Infinity | Infinity | "Infinity" | true | |
-Infinity | -Infinity | "-Infinity" | true | |
"" | 0 | "" | false | |
"20" | 20 | "20" | true | |
"twenty" | NaN | "twenty" | true | |
[ ] | 0 | "" | true | |
[20] | 20 | "20" | true | |
[10,20] | NaN | "10,20" | true | |
["twenty"] | NaN | "twenty" | true | |
["ten","twenty"] | NaN | "ten,twenty" | true | |
function(){} | NaN | "function(){}" | true | |
{ } | NaN | "[object Object]" | true | |
null | 0 | "null" | false | |
undefined | NaN | "undefined" | false |
Waarden tussen aanhalingstekens geven tekenreekswaarden aan.
Rode waarden geven waarden aan die (sommige) programmeurs misschien niet verwachten.