instanceof 操作符的實現原理

2021-10-21 04:39:56 字數 511 閱讀 2418

instanceof主要作用就是判斷乙個例項是否屬於某種型別

let dog = function()

let tidy = new dog()

tidy instanceof dog //true

原理大概如下

function wonderfulinstanceof(instance, constructorfn) 

if (instanceproto === constructorfnproto)

instanceproto = instanceproto.__proto__

}}

其實 instanceof 主要的實現原理就是只要 constructorfn 的 prototype 在instance的原型鏈上即可。因此,instanceof 在查詢的過程中會遍歷左邊變數的原型鏈,直到找到右邊變數的 prototype,如果查詢失敗,則會返回 false,告訴我們左邊變數並非是右邊變數的例項。

instanceof 運算操作符

instanceof 運算操作符用於檢測建構函式的 prototype 屬性是否出現在某個例項物件的原型鏈上。object instanceof constructor object某個例項物件 constructor 某個建構函式 instanceof 運算子用來檢測constructor.pro...

typeof與instanceof操作符

typeof與instanceof都是用來檢測變數型別的,不同的是,typeof用來檢測基本資料型別,instanceof用來檢測引用型別 一 typeof操作符 typeof操作符是確定乙個變數是字串 數值 布林值 還是undefined的最佳工具 對乙個值使用typeof操作符可能返回下列某個字...

MySQL的and操作符和or操作符

有時對where的要篩選的列不止乙個時,那麼就用到了and操作符和or操作符,and操作符顧名思義的意思是 並且 而or操作符的意思是 或者 比如以部門員工表為例 查詢部門編號為d001並且入職日期為 1985 02 02的員工編號,那麼就要用到and操作符 那如果是查詢部門編號為d001或者入職日...