原始型別 與 物件型別


Posted by hoyi-23 on 2021-05-19

之前有提到動態型別
JavaScript屬於動態型別,代表當在執行階段才會被賦予型別。(更多內容可以參考 動態型別 文章)

這個被動態賦予的型別又分為兩大類
原始型別物件型別

看看範例原始碼是那個類型吧?

var a, b, c, d; // undefined
a = 1; //number
a = '文字'; //string
b = true; //boolean
c = {}; //物件object
d = null; //object - 這JS的一個錯誤,無法更改
console.log(typeof e); //undefined - 沒有出現not defined是因為typeof的保護措施

原始型別

是只代表單一值的一種資料型別,不像 物件型別 有預設方法讓我們能夠直接取用。
但是因為原始型別中有包裹物件,我們能夠使用一些屬性與方法。

  1. 布林值(Boolean) - true / false
  2. Null 變數上定義空值
  3. Undefined 變數上沒有給值
  4. String
  5. Number
  6. Symbol
  7. Biglnt 整數數值

原始型別中的包裹物件

原始型別不允許自由擴增屬性,但是因為有包裹物件,因此有屬性與方法可以使用(除了undefined/null之外)。
參考 - 包裹物件篇

物件型別

可以自由擴增屬性

除了上面那六種,其他都是物件型別,包含"陣列"、"函式"等。


#物件型別 #原始型別







Related Posts

漏洞與修補留言板 XSS 和 SQL Injection

漏洞與修補留言板 XSS 和 SQL Injection

MTR04_1201

MTR04_1201

用 React + Redux 做一個 todo list 吧

用 React + Redux 做一個 todo list 吧


Comments