Open shfshanyue opened 3 years ago
typeof
能够准确检查除了 null 之外的基础数据类型(number, string, symbol, bigInt, undefined, boolean, null)
> typeof null
"object"
instanceof
的语义是检查操作符右边的函数原型是否存在于左边对象的原型链中
知识来源: JavaScript 忍者秘籍
typeof
能够准确检查除了 null 之外的基础数据类型(number, string, symbol, bingInt, undefined, boolean, null)> typeof null "object"
instanceof
的语义是检查操作符右边的函数原型是否存在于左边对象的原型链中知识来源: JavaScript 忍者秘籍
@liweinandever 真是学习了,今天我才注意到 bigint
也是基本数据类型,见文档 Primitive,另外你这里的 bigint
有个 typoerror
我不管你问什么 我就做题
function myInstanceof(obj, clazz) {
let proto = Object.getPrototypeOf(obj);
while (proto && proto !== clazz.prototype) {
proto = Object.getPrototypeOf(proto);
}
return !!proto;
}
instanceof 的结果可以通过修改 [Symbol.toStringTag] 属性影响
typeof
用以判断基础数据类型 (null 除外)instanceOf
借助原型链判断复杂数据类型如以下示例: