JavaScript typeof
- Föregående sida JS Map-metod
- Nästa sida JS-typomvandling
JavaScript typeof
Det finns 5 olika typer av data som kan innehålla värden i JavaScript:
string
number
boolean
object
function
Det finns 6 typer av objekt:
Object
Date
Array
String
Number
Boolean
och 2 typer av datatyper som inte kan innehålla värden:
null
undefined
typeof-operator
Du kan använda typeof
operator för att bestämma datatypen för JavaScript-variabler.
Exempel
typeof "Bill" // Returnerar "string" typeof 3.14 // Returnerar "number" typeof NaN // Returnerar "number" typeof false // Returnerar "boolean" typeof [1,2,3,4] // Returnerar "object" typeof {name:'Bill', age:19} // Returnerar "object" typeof new Date() // Returnerar "object" typeof function () {} // Returnerar "function" typeof myCar // Returnerar "undefined" * typeof null // Returnerar "object"
Observera:
- NaNs datatyp är number
- Arrayens datatyp är object
- Datumets datatyp är object
- nulls datatyp är object
- Odefinierade variabelns datatyp är undefined *
- Odefinierade variabelns datatyp är också undefined *
Du kan inte använda typeof
för att avgöra om ett JavaScript-objekt är en array (eller datum).
Original datum
Original data value refererar till en enkel datavärde utan tilläggade egenskaper och metoder.
typeof
Operator kan returnera en av följande ursprungliga typer:
string
number
boolean
undefined
Exempel
typeof "Bill" // Återger "string" typeof 3.14 // Återger "number" typeof true // Återger "boolean" typeof false // Återger "boolean" typeof x // Återger "undefined" (om x inte har ett värde)
komplex data
typeof
operatorn kan returnera en av två komplexa typer:
function
object
typeof
operatorn returnerar "object" för objekt, arrayer och null.
typeof
operatorn returnerar inte "object" för funktioner.
Exempel
typeof {name:'Bill', age:19} // Återger "object" typeof [1,2,3,4] // Återger "object"(inte "array",observera följande exempel) typeof null // Återger "object" typeof function myFunc(){} // Återger "function"
typeof
operatorn returnerar för arrayer "object"
eftersom arrayer är objekt i JavaScript.
typeof datatyper
typeof
operatorn är inte en variabel. Det är bara en operator. Operatorn (+ - * /) har ingen datatyp.
men,typeof
Operatorn är alltidÅterger en sträng(innehåller operandens typ).
constructor egenskapen
constructor
Egenskapen returnerar konstruktören för alla JavaScript-variabler.
Exempel
"Bill".constructor // Återger function String() {[native code]} (3.14).constructor // Återger function Number() {[native code]} false.constructor // Återger function Boolean() {[native code]} [1,2,3,4].constructor // Returnerar function Array() {[native code]} {name:'Bill',age:19}.constructor // Returnerar function Object() {[native code]} new Date().constructor // Returnerar function Date() {[native code]} function () {}.constructor // Returnerar function Function(){[native code]}
du kan kontrollera constructor-attributet för att avgöra om objektet är en array (inklusive "Array"
på ett ord):
Exempel
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
eller ännu enklare, du kan kontrollera om objektet ärArray-funktion:
Exempel
function isArray(myArray) { return myArray.constructor === Array; }
du kan kontrollera constructor-attributet för att avgöra om objektet är ett datum (inklusive "Date"
på ett ord):
Exempel
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
eller ännu enklare, du kan kontrollera om objektet ärDatumfunktion:
Exempel
function isDate(myDate) { return myDate.constructor === Date; }
Undefined
i JavaScript, har en variabel utan värde ett värde som undefined
. Typen är också undefined
。
Exempel
let car; // Värdet är undefined, typen är också undefined.
genom att sätta dess värde till undefined
kan tömma vilken variabel som helst. Typen kommer också att vara undefined
。
Exempel
car = undefined; // Värdet är undefined, typen är också undefined.
en tom värde
En tom värde med undefined
Orelaterat.
En tom sträng har både ett giltigt värde och en typ.
Exempel
let car = ""; // Värdet är "", typen är "string"
Null
i JavaScript: null
är 'inget'. Det bör vara något som inte existerar.
Tyvärr, i JavaScript:null
Data typen är ett objekt.
Du kan tänka dig det som ett bug i JavaScript.typeof null
är ett objekt. Typen bör vara null
。
Du kan också sätta objektet till null
För att tömma ett objekt:
Exempel
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = null; // Nu är värdet null, men typen är fortfarande object
Du kan också tömma ett objekt genom att sätta det till undefined
För att tömma ett objekt:
Exempel
let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"}; person = undefined; // Nu är värdet och typen obekant
Skillnaden mellan undefined och null
undefined
och null
Värden är lika men typerna är olika:
typeof undefined // undefined typeof null // object null === undefined // falskt null == undefined // sant
- Föregående sida JS Map-metod
- Nästa sida JS-typomvandling