JavaScript Type Conversion
- Vorige Pagina JS typeof
- Volgende Pagina JS Deconstructie
Number()
conversie van getal,String()
conversie van tekenreeks,Boolean()
conversie van booleaanse waarde.
JavaScript-datatype
er zijn vijf gegevenssoorten die waarde kunnen bevatten in JavaScript:
- tekenreeks (string)
- getal (number)
- booleaanse (boolean)
- object (object)
- functie (function)
er zijn drie soorten objecten:
- object (Object)
- datum (Date)
- array (Array)
er zijn twee gegevenssoorten die geen waarde kunnen bevatten:
- null
- undefined
typeof-bewerker
U kunt typeof
operator om de gegevenssoort van JavaScript-variabelen te bepalen.
Example
typeof "Bill" // retourne "string" typeof 3.14 // retourne "number" typeof NaN // retourne "number" typeof false // returns "boolean" typeof [1,2,3,4] // returns "object" typeof {name:'Bill', age:62} // returns "object" typeof new Date() // returns "object" typeof function () {} // returns "function" typeof myCar // returns "undefined" * typeof null // returns "object"
Let op:
- Het datatype van NaN is numeriek
- Het datatype van een array is object
- Het datatype van een datum is object
- Het datatype van null is object
- Het datatype van een ongedefinieerde variabele is undefined
- Het datatype van een variabele die nog niet is toegewezen is ook undefined
U kunt typeof
om te bepalen of een JavaScript-object een array (of een datum) is.
De datatypen van typeof
typeof
De operator is geen variabele. Het behoort tot de operators. Operators (bijvoorbeeld +
-
*
/
)(geen datatype).
Maar,typeof
AltijdRetourneert een stringBevat het type van de berekening).
Constructor eigenschap
constructor
De eigenschap retourneert de constructorfunctie van alle JavaScript-variabelen.
Example
"Bill".constructor // returns "function String() { [native code] }" (3.14).constructor // returns "function Number() { [native code] }" false.constructor // returns "function Boolean() { [native code] }" [1,2,3,4].constructor // returns "function Array() { [native code] }" {name:'Bill', age:62}.constructor // returns "function Object() { [native code] }" new Date().constructor // Retourneert "function Date() { [native code] }" function () {}.constructor // Retourneert "function Function(){ [native code] }"
U kunt controleren constructor
eigenschap om te bepalen of een object een array is (bevat het woord "Array"):
Example
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; {}
Of nog eenvoudiger, u kunt controleren of een object een arrayfunctie is:
Example
function isArray(myArray) { return myArray.constructor === Array; {}
U kunt controleren constructor
eigenschap om te bepalen of een object een datum is (bevat het woord "Date"):
Example
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; {}
Of nog eenvoudiger, u kunt controleren of een object een datumfunctie is:
Example
function isDate(myDate) { return myDate.constructor === Date; {}
JavaScript Type Conversion
JavaScript-variabelen kunnen worden omgezet naar nieuwe variabelen en een andere datatype:
- Door gebruik te maken van JavaScript-functies
- Door JavaScript zelfAutomatischConversie
Numerieke waarden omzetten naar strings
Globale methode String()
Kan getallen omzetten naar strings.
Het kan worden gebruikt voor elk type getal, tekst, variabele of expressie:
Example
String(x) // Van een getalvariabele x terug naar een string String(123) // Van een getaltekst 123 terug naar een string String(100 + 23) // Van een getal in de expressie terug naar een string
Number methods toString()
Ook geldt dit
Example
x.toString() (123).toString() (100 + 23).toString()
InNumber methodsIn dit hoofdstuk zult u meer leren over methoden die nuttig zijn om getallen om te zetten naar strings:
Method | Description |
---|---|
toExponential() | Geef een string terug, het getal afronden en schrijf met exponentiële notatie. |
toFixed() | Geef een string terug, het getal afronden en schrijf met een specifiek aantal decimalen. |
toPrecision() | Geef een string terug, schrijf het getal met de opgegeven lengte. |
Convert booleans to strings
Globale methode String()
Can convert booleans to strings.
String(false) // Returns "false" String(true) // Returns "true"
Boolean methods toString()
Ook geldt dit
false.toString() // Returns "false" true.toString() // Returns "true"
Convert dates to strings
Globale methode String()
Can convert dates to strings.
String(Date())
Datummethoden toString()
Ook geldt dit
Example
Date().toString()
InDatummethodenIn this chapter, you will find more methods that can be used to convert dates to strings:
Method | Description |
---|---|
getDate() | Get day (1-31) by number |
getDay() | Or by number (0-6) of the week |
getFullYear() | Get four-digit year (yyyy) |
getHours() | Get hour (0-23) |
getMilliseconds() | Get milliseconds (0-999) |
getMinutes() | Get minutes (0-59) |
getMonth() | Get month (0-11) |
getSeconds() | Get seconds (0-59) |
getTime() | Get time (milliseconds since January 1, 1970) |
Convert strings to numeric values
Globale methode Number()
Can convert strings to numbers.
Strings containing numbers (such as "3.14") are converted to numbers (such as 3.14).
Empty strings are converted to 0.
Other strings will be converted to NaN
(Not a number, not a number)。
Number("3.14") // Returns 3.14 Number(" ") // Returns 0 Number("") // Returns 0 Number("99 88") // Returns NaN
InNumber methodsIn this chapter, you will find more methods that can be used to convert strings to numbers:
Method | Description |
---|---|
parseFloat() | Parse the string and return a floating-point number. |
parseInt() | Parse the string and return an integer. |
Unary + operator
Unary +
OperatorsCan be used to convert variables to numbers:
Example
var y = "5"; // y is a string var x = + y; // x is a number
If the variable cannot be converted, it will still be a number, but the value will be NaN
(Not a number):
Example
var y = "Bill"; // y is a string var x = + y; // x is een getal (NaN)
Booleans omzetten naar cijfers
Globale methode Number()
Booleans kunnen ook worden omgezet naar cijfers.
Number(false) // retourneert 0 Number(true) // retourneert 1
Datum omzetten naar getal
Globale methode Number()
kan worden gebruikt om een datum om te zetten naar een getal.
d = new Date(); Number(d)
Datummethoden getTime()
Ook geldt dit
d = new Date(); d.getTime()
Automatische typeconversie
Als JavaScript probeert een type "fout" te manipuleren, probeert het de waarde te converteren naar het "juiste" type.
Het resultaat is niet altijd zoals verwacht:
5 + null // retourneert 5 omdat null wordt omgezet naar 0 "5" + null // retourneert "5null" omdat null wordt omgezet naar "null" "5" + 2 // retourneert 52 omdat 2 wordt omgezet naar "2" "5" - 2 // retourneert 3 omdat "5" wordt omgezet naar 5 "5" * "2" // retourneert 10 omdat "5" en "2" worden omgezet naar 5 en 2
automatische stringconversie van de variabele op
JavaScript roept automatisch de toString()
Functie, wanneer je probeert een object of variabele "uit te voeren":
document.getElementById("demo").innerHTML = myVar; // Als myVar = {name:"Fjohn"} // toString omzet naar "[object Object]" // Als myVar = [1,2,3,4] // toString omzet naar "1,2,3,4" // Als myVar = new Date() // toString omzet naar ""
Getallen en booleans worden ook geconverteerd, maar dit is niet zo明显:
// Als myVar = 123 // toString omzet naar "123" // Als myVar = true // toString omzet naar "true" // Als myVar = false // toString omzet naar "false"
Tabel van JavaScript-typewijzigingen
De tabel hieronder geeft een overzicht van de resultaten van het converteren van verschillende JavaScript-waarden naar getallen, strings en booleans:
Oorspronkelijke waarde | Converteer naar nummer | Converteer naar string | Converteer naar logisch | Probeer het zelf |
---|---|---|---|---|
false | 0 | "false" | false | Probeer het zelf |
true | 1 | "true" | true | Probeer het zelf |
0 | 0 | "0" | false | Probeer het zelf |
1 | 1 | "1" | true | Probeer het zelf |
"0" | 0 | "0" | true |
Probeer het zelf |
"000" | 0 | "000" | true |
Probeer het zelf |
"1" | 1 | "1" | true | Probeer het zelf |
NaN | NaN | "NaN" | false | Probeer het zelf |
Infinity | Infinity | "Infinity" | true | Probeer het zelf |
-Infinity | -Infinity | "-Infinity" | true | Probeer het zelf |
"" | 0 |
"" | false |
Probeer het zelf |
"20" | 20 | "20" | true | Probeer het zelf |
"twenty" | NaN | "twenty" | true | Probeer het zelf |
[ ] | 0 |
"" | true | Probeer het zelf |
[20] | 20 |
"20" | true | Probeer het zelf |
[10,20] | NaN | "10,20" | true | Probeer het zelf |
["twenty"] | NaN | "twenty" | true | Probeer het zelf |
["tien","twenty"] | NaN | "tien,twenty" | true | Probeer het zelf |
function(){} | NaN | "function(){}" | true | Probeer het zelf |
{} | NaN | "[object Object]" | true | Probeer het zelf |
null | 0 |
"null" | false | Probeer het zelf |
undefined | NaN | "undefined" | false | Probeer het zelf |
De waarde in aanhalingstekens geeft een stringwaarde aan.
Rode waardenIndicaties van waarden die misschien niet gewenst zijn door (sommige) programmeurs.
- Vorige Pagina JS typeof
- Volgende Pagina JS Deconstructie