JavaScript typeof

JavaScript typeof

JavaScriptissa on 5 erilaista tyyppiä, jotka voivat sisältää arvoja:

  • string
  • number
  • boolean
  • object
  • function

On 6 tyyppistä objektia:

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

ja 2 muuta tyyppiä, jotka eivät voi sisältää arvoja:

  • null
  • undefined

typeof Operatori

Voit käyttää typeof Operatori määrittääksesi JavaScript-objektin datatyyppin.

Esimerkki

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

Kokeile itse

Huomaa:

  • NaN:n datatyyppi on luku
  • Taulukon datatyyppi on objekti
  • Päivämäärän datatyyppi on objekti
  • nullin datatyyppi on objekti
  • Määrittelemättömien muuttujien datatyyppi on undefined *
  • Määrittelemättömien muuttujien datatyypit ovat undefined *

Et voi käyttää typeof määrittääksesi, onko JavaScript-objekti taulukko (tai päivämäärä).

Alkuperäinen päivämäärä

Alkuperäinen dataraha viittaa yksinkertaiseen yksittäiseen datarahaan, jolla ei ole mukana olevia ominaisuuksia ja metodeja.

typeof Operatorit voivat palauttaa seuraavista alkuperäisistä tyyppien yhdestä:

  • string
  • number
  • boolean
  • undefined

Esimerkki

typeof "Bill"              // Palauttaa "string"
typeof 3.14                // Palauttaa "number"
typeof true                // Palauttaa "boolean"
typeof false               // Palauttaa "boolean"
typeof x                   // Palauttaa "undefined" (jos x ei ole arvoa)

Kokeile itse

Monimutkainen tieto

typeof Operaattori voi palauttaa yhden kahdesta monimutkaisesta tyyppistä:

  • function
  • object

typeof Operaattori palauttaa objekteille, taulukoille ja null-arvoille "object".

typeof Operaattori ei palauta funktion "object".

Esimerkki

typeof {name:'Bill', age:19} // Palauttaa "object"
typeof [1,2,3,4]             // Palauttaa "object"(ei "array",huomaa alla oleva esimerkki)
typeof null                  // Palauttaa "object"
typeof function myFunc(){}   // Palauttaa "function"

Kokeile itse

typeof Operaattori palauttaa taulukolle "object",koska taulukot ovat objekteja JavaScriptissä.

typeof:n tyyppidata

typeof Operaattori ei ole muuttuja. Se on vain operaattori. Operaattorit (+ - * /) eivät ole minkään tyyppisiä.

Mutta,typeof Operaattori on ainaPalauttaa merkkijonon(sisältää operaattorin tyyppin).

constructor-ominaisuus

constructor Ominaisuus palauttaa kaikkien JavaScript-muuttujien rakentajan.

Esimerkki

"Bill".constructor                // Palauttaa funktion String()  {[native code]}
(3.14).constructor                // Palauttaa funktion Number()  {[native code]}
false.constructor                 // Palauttaa funktion Boolean() {[native code]}
[1,2,3,4].constructor             // 返回 function Array()   {[native code]}
{name:'Bill',age:19}.constructor  // 返回 function Object()  {[native code]}
new Date().constructor            // 返回 function Date()    {[native code]}
function () {}.constructor        // 返回 function Function(){[native code]}

Kokeile itse

您可以检查 constructor 属性以确定对象是否为数组(包含 "Array" 一词):

Esimerkki

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

Kokeile itse

或者更简单,您可以检查对象是否为数组函数

Esimerkki

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

Kokeile itse

您可以检查 constructor 属性以确定对象是否为日期(包含 "Date" 一词):

Esimerkki

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

Kokeile itse

或者更简单,您可以检查对象是否为日期函数

Esimerkki

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

Kokeile itse

Undefined

在 JavaScript 中,没有值的变量的值是 undefined。类型也是 undefined

Esimerkki

let car;    // 值是 undefined,类型也是 undefined。

Kokeile itse

通过将其值设置为 undefined,可以清空任何变量。类型也将是 undefined

Esimerkki

car = undefined;    // 值是 undefined,类型也是 undefined。

Kokeile itse

空值

空值与 undefined 无关。

空字符串既有合法值又有类型。

Esimerkki

let car = "";    // 值是 "",类型是 "string"

Kokeile itse

Null

在 JavaScript 中 null 即是“无”。它应该是不存在的东西。

不幸的是,在 JavaScript 中,null 数据的类型是一个对象。

Voit ajatella sen olevan JavaScriptin bugi.typeof null on objekti. Tyyppisi tulisi olla null

Voit asettaa objektin null Tyhjennä objekti:

Esimerkki

let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
person = null;    // Nyt arvo on null, mutta tyyppi on edelleen objekti

Kokeile itse

Voit myös tyhjentää objektin asettamalla sen undefined Tyhjennä objekti:

Esimerkki

let person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
person = undefined;   // Nyt arvo ja tyyppi ovat määrittelemättömiä

Kokeile itse

undefined ja null ero

undefined ja null Arvot ovat samat, mutta tyypit eri:

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

Kokeile itse