class Person { constructor(name) { this.name=name||"Default"; } toString(){ return 'Name:'+this.name; } } var p1=new Person(); console.log(p1.name); class Boy extends Person{ constructor(name){ super(name); this.gende='Boy'; } toString(){ return super.toString()+" - Gende:"+this.gende; } } var b1=new Boy('hello'); console.log(b1); console.log(b1.toString());
ES5的继承,也就是prototype
实质是先创造子类的实例对象this
然后再将父类的方法添加到this上面(Parent.apply(this))
ES6的继承,也就是class
实质是先创造父类的实例对象this(必须先调用super)
然后再用子类的构造函数修改this
它们的实现机制是不同的
ES6与 ES5 一样,类的所有实例共享一个原型对象
对于es6这一块,还是很有必要去读一读 文档的。
相关推荐:
ES6 javascript中class类的get与set用法实例
以上就是ES6中class与js prototype原型继承之间的关系的详细内容,更多请关注php中文网其它相关文章!
![php中文网最新课程二维码](/static/images/article_wechat2021.jpg?1111)
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论