六角學院 JS 核心筆記 (十三)【運算子、型別與文法】- 原始型別及物件型別
AdSense
資料型別 (Data Type)
JavaScript 的型別主要分兩大類別,分別是原始型別 (Primitive type) 及參考型別 (Reference type)。
- Primitive type
- Boolean
- Null
- Undefined
- Number
- String
- BigInt
- Symbol(於 ECMAScript 6 新定義)
- Reference type
- Object: Primitive type 以外的都屬於 Object 型別。例:
Object {}
、Array []
、Function ()
。
- Object: Primitive type 以外的都屬於 Object 型別。例:
包裹物件
原始型別 (Primitive type) 中除了 null
和 undefined
沒有包裹物件之外,其他都有包裹物件,也就是原始型別包裹器 Primitive Wrapper,能呼叫相對應的特殊屬性和函式。
- Boolean: new Boolean()
- Null
- Undefined
- Number: new Number()
- String: new String() e.g.
str.length
、str.trim()
- BigInt: BigInt()
- Symbol: Symbol()
注意:使用包裹物件宣告的變數是物件型別。
1 | let a = new String("Jenifer"); |
Javascript 長久以來的錯誤
使用 typeof b
居然出現物件型別!這是 Javascript 長久以來的錯誤,但是現在也無法更正了。
1 | let b = null; |
typeof 保護措施
對於沒有宣告的 c
也就是 not defined
的變數,typeof
的輸出結果是 undefined
。這點要特別記住啦!
1 | console.log(typeof c); // 輸出結果:undefined |
參考資料:
六角學院:JavaScript 核心篇 - 邁向達人之路