instanceof操作符
() instanceof C 會被編譯爲方法調用 -- InstanceofOperator(O, C)
InstanceofOperator(O, C){
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與其他類型數據調用時,自動調用tostring