JavaScript Type Conversion

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"

Probeer het zelf uit

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] }"

Probeer het zelf uit

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;
{}

Probeer het zelf uit

Of nog eenvoudiger, u kunt controleren of een object een arrayfunctie is:

Example

function isArray(myArray) {
    return myArray.constructor === Array;
{}

Probeer het zelf uit

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;
{}

Probeer het zelf uit

Of nog eenvoudiger, u kunt controleren of een object een datumfunctie is:

Example

function isDate(myDate) {
    return myDate.constructor === Date;
{}

Probeer het zelf uit

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

Probeer het zelf uit

Number methods toString() Ook geldt dit

Example

x.toString()
(123).toString()
(100 + 23).toString()

Probeer het zelf uit

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

Probeer het zelf uit

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)

Probeer het zelf uit

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

Probeer het zelf uit

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.