JavaScript typeof

JavaScript typeof

In JavaScript zijn er 5 verschillende datatypes die waarde kunnen bevatten:

  • string
  • number
  • boolean
  • object
  • function

Er zijn 6 soorten objecten:

  • Object
  • Date
  • Array
  • String
  • Number
  • Boolean

en 2 datatypes die geen waarde kunnen bevatten:

  • null
  • undefined

typeof operator

U kunt typeof operator om het datatype van een JavaScript-variabele te bepalen.

Voorbeeld

typeof "Bill"                 // Retourneert "string"
typeof 3.14                   // Retourneert "number"
typeof NaN                    // Retourneert "number"
typeof false                  // Retourneert "boolean"
typeof [1,2,3,4]              // Retourneert "object"
typeof {name:'Bill', age:19}  // Retourneert "object"
typeof new Date()             // Retourneert "object"
typeof function () {}         // Retourneert "function"
typeof myCar                  // Retourneert "undefined" *
typeof null                   // Retourneert "object"

Probeer Het Zelf Uit

Let op:

  • Het datatype van NaN is getal
  • Het datatype van array is object
  • Het datatype van datum is object
  • Het datatype van null is object
  • De datatype van ongedefinieerde variabelen is undefined *
  • De datatype van ongeinitialiseerde variabelen is ook undefined *

U kunt typeof om te bepalen of een JavaScript-object een array (of datum) is.

Oorspronkelijke datum

Oorspronkelijke datawaarden verwijzen naar een enkelvoudige datawaarde zonder extra eigenschappen of methoden.

typeof Operators kunnen een van de volgende oorspronkelijke types retourneren:

  • string
  • number
  • boolean
  • undefined

Voorbeeld

typeof "Bill"              // Returns "string"
typeof 3.14                // Returns "number"
typeof true                // Returns "boolean"
typeof false               // Returns "boolean"
typeof x                   // Returns "undefined" (if x has no value)

Probeer Het Zelf Uit

Complex data

typeof The operator can return one of two complex types:

  • function
  • object

typeof The operator returns "object" for objects, arrays, and null.

typeof The operator does not return "object" for functions.

Voorbeeld

typeof {name:'Bill', age:19} // Returns "object"
typeof [1,2,3,4]             // Returns "object" (not "array", please note the example below)
typeof null                  // Returns "object"
typeof function myFunc(){}   // Returns "function"

Probeer Het Zelf Uit

typeof The operator returns for arrays "object", because arrays are objects in JavaScript.

The data types of typeof

typeof The operator is not a variable. It is just an operator. The operators (+ - * /) have no data type.

However,typeof The operator is alwaysReturns a string(including the type of the operand).

The constructor attribute

constructor Properties return the constructor of all JavaScript variables.

Voorbeeld

"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             // Retourneert function Array()   {[native code]}
{name:'Bill',age:19}.constructor  // Retourneert 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 de constructor-eigenschap controleren om te bepalen of een object een array is (inclusief "Array" woord):

Voorbeeld

function isArray(myArray) {
  return myArray.constructor.toString().indexOf("Array") > -1;
}

Probeer Het Zelf Uit

of nog eenvoudiger, u kunt controleren of een objectArrayfunctie:

Voorbeeld

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

Probeer Het Zelf Uit

U kunt de constructor-eigenschap controleren om te bepalen of een object een datum is (inclusief "Date" woord):

Voorbeeld

function isDate(myDate) {
  return myDate.constructor.toString().indexOf("Date") > -1;
}

Probeer Het Zelf Uit

of nog eenvoudiger, u kunt controleren of een objectDatumfunctie:

Voorbeeld

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

Probeer Het Zelf Uit

Undefined

In JavaScript is de waarde van een variabele zonder waarde undefined. Het type is ook undefined

Voorbeeld

let car;    // De waarde is undefined, het type ook undefined.

Probeer Het Zelf Uit

door zijn waarde in te stellen undefinedkan elke variabele leeg maken. Het type zal ook undefined

Voorbeeld

car = undefined;    // De waarde is undefined, het type ook undefined.

Probeer Het Zelf Uit

Een lege waarde

Een lege waarde en undefined Niet van belang.

Een lege string heeft zowel een geldige waarde als een type.

Voorbeeld

let car = "";    // De waarde is "", het type is "string"

Probeer Het Zelf Uit

Null

in JavaScript: null is dat 'geen'. Het zou iets onbestaands moeten zijn.

Helaas, in JavaScript:null De gegevenssoort is een object.

U kunt het als een bug in JavaScript beschouwen.typeof null is een object. Het type zou moeten zijn null

U kunt het object instellen op null Om het object leeg te maken:

Voorbeeld

let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
person = null;    // De waarde is nu null, maar het type blijft object

Probeer Het Zelf Uit

U kunt ook het object instellen op undefined Om het object leeg te maken:

Voorbeeld

let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
person = undefined;   // De waarde en het type zijn nu undefined

Probeer Het Zelf Uit

Het verschil tussen undefined en null

undefined en null Waarden zijn gelijk, maar typen verschillen:

typeof undefined           // undefined
typeof null                // object
null === undefined         // false
null == undefined          // true

Probeer Het Zelf Uit