簡介
七種基本數(shù)據(jù)類型
- 數(shù)值(number)
- 字符串(string)
- 布爾值(boolean)
undefined
null
- 對(duì)象(object)
- Symbol
通常,數(shù)值寺谤、字符串、布爾值這三種類型,合稱為原始類型(primitive type)的值课舍,即它們是最基本的數(shù)據(jù)類型霹俺,不能再細(xì)分了。對(duì)象則稱為合成類型(complex type)的值掰邢,因?yàn)橐粋€(gè)對(duì)象往往是多個(gè)原始類型的值的合成牺陶,可以看作是一個(gè)存放各種值的容器。至于undefined和null辣之,一般將它們看成兩個(gè)特殊值掰伸。
typeof運(yùn)算符
typeof 運(yùn)算符可以返回一個(gè)值的數(shù)據(jù)類型。
typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
function f() {}
typeof f// "function"
typeof undefined// "undefined"
typeof window // "object"
typeof {} // "object"
typeof [] // "object"
注意:null
返回 object
typeof null // "object" 歷史遺留的問題
1995年的 JavaScript 語言第一版怀估,只設(shè)計(jì)了五種數(shù)據(jù)類型(對(duì)象狮鸭、整數(shù)、浮點(diǎn)數(shù)多搀、字符串和布爾值)歧蕉,沒考慮null,只把它當(dāng)作object的一種特殊值康铭。后來null獨(dú)立出來惯退,作為一種單獨(dú)的數(shù)據(jù)類型,為了兼容以前的代碼从藤,typeof null返回object就沒法改變了催跪。