04,extends
2020-06-09 本文已影响0人
r8HZGEmq
在proto/constructor/prototype 。对象--proto(属性)--prototype组成原型链。obj.proto得到一个原型对象
原型的 constructor 属性指向构造函数,构造函数又通过 prototype 属性指回原型
class Person {} Person instanceof Function // true 本质上还是函数
Parent.prototype.getValue = function() {..}
class Child extends Parent {
constructor(value) {
super(value)
this.val = value}
}
let child = new Child(1) child.getValue() // 1 child instanceof Parent // true
方法二,通过原型的方式继承
function Parent(value) {
this.val = value
}
Parent.prototype.getValue = function() {
console.log(this.val)
}
function Child(value) {
Parent.call(this, value)
}
Child.prototype = new Parent()
const child = new Child(1)
child.getValue() // 1
child instanceof Parent // true