JavaScript typeof

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"

Prova själv

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)

Prova själv

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"

Prova själv

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

Prova själv

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

Prova själv

eller ännu enklare, du kan kontrollera om objektet ärArray-funktion:

Exempel

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

Prova själv

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

Prova själv

eller ännu enklare, du kan kontrollera om objektet ärDatumfunktion:

Exempel

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

Prova själv

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.

Prova själv

genom att sätta dess värde till undefinedkan tömma vilken variabel som helst. Typen kommer också att vara undefined

Exempel

car = undefined;    // Värdet är undefined, typen är också undefined.

Prova själv

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"

Prova själv

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

Prova själv

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

Prova själv

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

Prova själv