原型相关
instanceof
instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。
function Person() {};
let p1 = new Person();
p1 instanceof Person; // true, 检查的是Person.prototype 是否在p1的原型链上
_proto_(隐示原型)& prototype(显示原型)
- 对象都有__proto__
- 函数既有__proto__也有prototype
访问__proto__可以用Object.getPrototypeOf();
访问prototype可以直接调用
function Person() {};
let p1 = new Person();
Object.getPrototypeOf(p1) === Person.prototype // true
类型相关
类型转换
![] == [] 返回值是什么 答案是true
涉及到==以及!的知识点
先说!,会把右侧转换为布尔类型,[]转换为true,然后!true为false。
再说==,双等于在js中判断等号两端是否相等会将两侧转换为数字,在进行比较,则左侧false转换为0,右侧[]调用valueOf方法在转换为数字0,则![] == []。