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 數組
- JavaScript 字符串
- JavaScript If…Else語句
- JavaScript 循環Loops
- JavaScript 全局變量
- JavaScript 的對象
- JavaScript 函數
JavaScript: 文檔對象模型
JavaScript 編程