JS歷史
資料型別
七種資料型別(請背誦): number
(數值) string
(字串) boolean
(布林值) Symbol
(符號) object
(物件) undefined
null
注意:沒有arry
型別也沒有function
型別。
number
- 整數和小數:
1
0.1
.1
- 科學計數法:
1.23e2
- 二進位制:
0b11
- 八進位制:
011
(後來ES5新增了0o11
語法) - 十六進位制:
0x11
string
-
空字串:
''
""
length為0 -
空格字串:
' '
" "
length為1 -
多行字串
var a = '12345' + '67890' //無回車符號 var a = `12345 67890` //含回車符號 var a = '12345 \ 67890' //不推薦使用,若反斜槓後有空格則報錯。 複製程式碼
boolean
-
喬治·布林
喬治·布林是英格蘭數學家和哲學家、數理邏輯學先驅。 由於其在符號邏輯運算中的特殊貢獻,很多計算機語言中將邏輯運算稱為布林運算,將其結果稱為布林值。
-
boolean
的取值
只有兩個值:true
false
a&&b
即在a和b都為true時,取值為true,否則均取值為false(與門)
a||b
即在a和b都為false時,取值為false,否則均為true(或門)
Symbol
Symbol生成一個全域性唯一的值undefined
和null
- 都表示沒有值。一般來說
null
表示空物件,undefined
表示空字串/數值/布林值/Symbol。 - (規範)如果一個變數沒有被賦值,那麼這個變數的值就是
undefined
- (慣例)如果你想表示一個還沒有被賦值的物件,就用
null
。
var obj = null
- (慣例)如果你想表示一個還沒有被賦值的字串/數值/布林值/Symbol,就用
undefined
。
var xxx = undefined
實際上只需要var xxx
object
-
object
就是上面幾種基本型別(無序的)組合在一起 -
object
的key一律是字串,不存在其他型別的key -
object
裡面可以有object
var person = { name: 'Lilei', 'child':{ name: 'Jack' }, // 最後這個逗號可有可無 } 複製程式碼
-
object['']
是合法的 -
如果key符合識別符號條件的話
object['key']
可以寫作object.key
,注意object.key
不同於object[key]
-
delete object['key']
(同時刪除key
和value
) -
'key' in object
檢測'key'是否在object裡面,返回一個布林值(即使鍵值為undefined)
typeof運算子
xxx的型別 | string | number | boolean | symbol | undefined | null | object | function |
---|---|---|---|---|---|---|---|---|
typeof xxx | 'string' | 'number' | 'boolean' | 'symbol' | 'undefined' | 'object' | 'object' | 'function' |
注意:function並不是一個型別