JavaScript的類型

JavaScript有七種內置類型:

  • 空值(null)
  • 未定義(undefined)
  • 布爾值(boolean)
  • 數字(number)
  • 字符串(string)
  • 對象(object)
  • 符號(symbol,ES6中新增)

    除對象之外,其他統稱爲“基本類型”。可以通過typeof運算符來查看值的類型,它返回的是類型的字符串值。但是,這七種類型和它們的字符串值並不一一對應:

typeof undefined === "undefined"; // true
typeof true === "boolean"; // true
typeof 42 === "number"; // true
typeof "42" === "string"; // true
typeof { life: 42 } === "object"; // true
// ES6中新加入的類型
typeof Symbol() === "symbol"; // true

    以上六種類型均有同名的字符串值與之對應。但typeof對null的處理如下:

typeof null === "object"; // true

所以我們需要使用複合條件檢測null的類型:

var a = null;
(!a && typeof a === "object"); // true

null 是基本類型中唯一的一個“假值”類型,typeof對它的返回值爲”object”。

除此之外,還有兩種特殊的類型:

typeof function a(){ /* .. */ } === "function"; // true
typeof [1,2,3] === "object"; // true

    因此,function(函數)與數組都是object的“子類型”,函數對象的length屬性是其聲明的參數的個數,數組的length 屬性是元素的個數。

function a(b,c) {
/* .. */
}
a.length; // 2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章