【JS學習筆記】JS 動態型別

Chii
Oct 24, 2020

--

JavaScript 屬於動態型別,因此在執行過程中,可能會不斷的轉換型別。因為在創造階段時,變數被提升,直到在執行階段時,才會賦予變數型別。JavaScript 型別分成 原始型別 及 物件型別 兩大類。
  • 顯性轉換 Explicit conversion : 變數直接再被賦予另一型別的值
var num = 1; >> type : number
num = 'text'; >> type : string
  • 隱性轉換 Implicit conversion:變數在運算過程中,發生型別轉換
== 範例2var num = 1; >> type : number , 輸出結果:1num = num + ''; >> type : string , 輸出結果:"1"== 範例2var a = "1"; >> type : string
var b = 2; >> type : number
a + b = "12"; >> type : string

原始型別 (Primitvie Data Type)

  • Boolean 布林
  • null 空

null 若使用 typeof 查詢類別時,會出現 Object(物件)型別,是 JS 長久以來的錯誤

  • undefined 為定義
  • number 數值
  • string 字串
  • BigInt(new) 本身也是數字的一種只是另一種表示
  • Symbol(new)

若用 typeof 查詢 not defined 的變數時,會定義為 undefined,是 JavaScript 對未定義變數的保護措施

** 原始型別中,之所以可以使用一些方法,如將自傳轉換成大寫,是因為除了 null 及 undefined 外,都有含有包裹物件。

new Boolean()new Number()new String()BigInt()Symbol()** 使用包裹物件宣告的變數,型別會屬於物件行為,而非原始型別唷!

--

--