1、概述
JavaScript有六種數據結構
- 數值(NUMBER):整數和小數(比如1和3.14)
- 字符串(STRING):文本(比如HELLO WORLD)。
- 布爾值(BOOLEAN):表示真偽的兩個特殊值,即TRUE(真)和FALSE(假)<只有兩個值>
- UNDEFINED:表示“未定義”或不存在,即由於目前沒有定義,所以此處暫時沒有任何值
- NULL:表示空值,即此處的值為空。
- 對象(OBJECT):各種值組成的集合。
數值、字符串、布爾值這三種類型合稱為原始類型(primitive type),undefined和null看作兩個特殊值,對象則是復雜類型。對象作為最復雜的類型,可以分成三個子類型:狹義的對象(object),數組(array),函數(function)。
2、typeof運算符
可以使用typeof運算符確定一個值的類型
- 數值、字符串、布爾值分別返回number、string、boolean。
- 函數返回function。
- undefined返回undefined
- 對象返回object
- null返回object
- 已聲明未賦值的變量返回undefined
3、細節
1. number
- 整數和小數:1 // 1.1 // .1
- 科學記數法:1.23e2
- 二進制:0b11
- 八進制:011(后來 ES5 添加了 0o11 語法)
- 十六進制:0x11
2. string
- 空字符串:''
- 多行字符串:主要是用“+”(加號)連接
3. boolean
- 只有兩個值,true和false
- 符號&&和||
4. symbol
5. undefined和null
- 如果一個變量沒有被賦值,那么這個變量的值就是 undefiend
- 如果想表示一個還沒賦值的對象,就用 null。如果想表示一個還沒賦值的字符串/數字/布爾/symbol,就用 undefined
6. object
- object可以由基本類型無序組合在一起
- object可以由object組成
- object 的 key 一律是字符串,不存在其他類型的 key
- object[''] 是合法的
- object['key'] 可以寫作 object.key
- 注意 object.key 與 object[key] 不同
- delete object['key']
- 'key' in object
