JavaScript基礎之數據類型

JavaScript起源和特性

原型鏈是借鑑了Self和Smalltalk語言,所以JavaScript天生原型設計模式。new的原理是找到對象,通過克隆創建一個一模一樣的對象,這裏根對象是Object.prototype對象,所有對象都是從Object.prototype對象克隆而來。

可以用ECMAScript 5提供的Object.getPrototypeOf來查看着兩個對象的原型

七種內置類型

  • 空值(null)
  • 未定義 (undefined)
  • 布爾值 (boolean)
  • 數字 (number)
  • 字符串 (string)
  • 對象 (object)
  • 符號 (symbol ES6新增)

對於這些類型都比較常用,主要將下symbol,主要用於

Symbol 值通過Symbol函數生成。這就是說,對象的屬性名現在可以有兩種類型,一種是原來就有的字符串,另一種就是新增的 Symbol 類型。

  1. 定義對象屬性的迭代器,遍歷對象中的屬性值
  2. 使用symbol.toStringTag來定義對象的toString結果
  3. 消除魔術字符串,比如狀態變化是自己定義的幾個字符串,最後也是對字符串進行比對,這時就可用Symbol消除魔法字符串。
const shapeType = {
  triangle: 'Triangle'
};
// 可以轉換成
const shapeType = {
  triangle: Symbol()
};

function

function也是JavaScript的一個內置類型。是object的子類,有內部屬性Call,該屬性使其可以被調用。函數對象的length屬性是其聲明的參數個數

判斷數據類型

typeof

instanceof

使用constructor 和Object.toString

參考各種博客、《你不知道的JavaScript》、《JavaScript設計模式與開發實踐》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章