操作符instanceof 在JavaScript中的用途

instanceof操作符用來在運行時檢測一個對象的類型。JavaScript裏的每個對象都有一個協議類型,可以通過__proto__ 屬性訪問。函數同樣有一個協議類型的屬性,這是由它們創建的任何對象初始化的__proto__。當創建一個函數時,爲協議類型會給定一個唯一的對象。instanceof 用一個對象的協議類型確定它是否是一個類的實例,或者是一個結構函數。它返回一個布爾值,用以確定是否一個對象是一個指定類的實例。

const Animal = function(type) {
  this.type = type;
}
const dog = new Animal('dog');
document.write(dog instanceof Animal); //returns true
document.write(dog instanceof Object); //returns true

哪個比較好用: instanceof 還是 typeof?

功能上兩者是類似的,因爲它們都返回類型信息,但是,使用instanceof比較好,因爲它使用真正的類型做比較,而不是字符串比較。類型比較可以減少人爲錯誤傾向,並且技術角度它比較快,因爲它是在內存當中按指針比對,而不是整個字符串比較。


 JavaScript 介紹

 JavaScript 基礎

 JavaScript: 文檔對象模型

 JavaScript 編程

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