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