ES6类和继承

首先看代码

class Person {
    constructor(name){
        console.log(`构造函数执行了,${name}`)
    }
}
let p1= new Person('jona')

此处,调用new的时候就自动执行了构造函数,所以接收参数也是在构造函数出接收

class Person {
    constructor(name){
        console.log(`构造函数执行了,${name}`)
        this.name=name
    }
    showName(){
        return `名字为${this.name}`
    }
}
let p1= new Person('jona')
console.log(p1.showName)

此处函数不会自动执行,只有调用的时候才会执行console.log(p1.showName);
继承:

// 父类
class Person {
    constructor(name){
        console.log(`构造函数执行了,${name}`)
        this.name=name
    }
    showName(){
        return `名字为${this.name}`
    }
}
let p1= new Person('jona')
console.log(p1.showName)
// 子类
class children  extends Person{
    constructor(agrs){
        super(ags) 
    }
 
 showName (){
        super.showName()//调用父级的方法也是用super
    }
}
let p2 = new children('子类')
console.log(p2.name)

继承用extends,当继承后需要用super()来接收父类的constructor构造函数,否在报错,当new一个子类的时候先把参数传入子类构造函数再通过super()讲父类的构造函数引入,就可以调用父类

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容