什么是原形?
每个对象又都有一个对象原型属性 proto 指向构造函数的原型对象。对象原型属性 __proto__为对象属性方法的查找机制提供了方向或者线路。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型。依次层层向上搜索,直到找到一个名字匹配的属性或者达到 Object 原型的原型 null
class继承原形链:
class Person{
constructor(name) {
this.name = name;
}
drink(){
console.log("喝水")
}
}
class Teacher extends Person{
constructor(name,subject) {
super(name)
this.subject = subject;
}
teach(){
console.log(`我是${this.name},一个${this.subject}`)
}
}
const teacher = new Teacher("zd","前端开发者")
teacher.teach()
teacher.drink()
hasOwnProperty()是否有该属性(不包括在原形里)
instanceof类型判断
typeof不能用于判断对象
instanceof用于判断引用类型属于哪个构造函数的方法。
var p =[];
console.log(p instanceof Array);//true