instanceof操做符
() instanceof C 會被編譯爲方法調用 -- InstanceofOperator(O, C)
InstanceofOperator(O, C){ide
if(typeof C !== 'object'){ throw TypeError; } let instOfHandler = C[Symbol.hasInstance]; if(typeof instOfHandler !== 'undefined'){ return !!instOfHandler.call(C, O); } if(typeof C !== 'function'){ throw TypeError; } return OrdinaryHasInstance(C, O);
}
該方法首先判斷了 C[Symbol.hasInstance] 方法是否存在,若是存在,就調用;若是不存在,就調用 OrdinaryHasInstance(C, O) 方法。
判斷類的數據類型從屬關係。
對JAVA對象的強制類型轉換成爲造型
Object的使用
Object類是一個特殊的類,是全部類的父類,若是一個類沒有用extends明確指出繼承於某個類,那麼它默認繼承Object類。這裏主要總結Object類中的三個經常使用方法:toString()、equals()、hashCode()。
toString方法
在進行string與其餘類型數據調用時,自動調用tostringcode