(精华)2020年7月4日 JavaScript高级篇 ES6(class类的继承)
发布日期:2021-06-29 15:06:38
浏览次数:2
分类:技术文章
本文共 1951 字,大约阅读时间需要 6 分钟。
class Father{ constructor(){ this.name = '父亲' this.age = 33 } work(){ console.log('我是父类'); }}class Children extends Father{ constructor(name,age,play){ super() this.name = name }}let personZhang = new Children('tony',44,'打游戏')console.log(personZhang.name);
super
// 通过extends// super 关键字// 继承必须要在constructor方法中去调用super// 原因是子类自己的this对象 必须通过父类的构造函数生成// 不调用super 子类就得不到this对象class A{ // 属性应该怎么写??? pA = 123 p(){ return 3 }}A.prototype.pA = 123class B extends A{ constructor(){ super() console.log(super.p()) // 3 console.log(super.pA)// undefined }}// 调用super后内部的this指向子类的实例 class A{ constructor(){ this.x = 1 } print(){ console.log(this.x); }}class B extends A{ constructor(){ super() this.x = 2 } fn(){ super.print() // 相当于 es5里面的super.print.call(this) }}// 通过super对属性赋值 这时的super相当于thisclass A{ constructor(){ this.x = 1 }}// A.prototype.x = 3class B extends A{ constructor(){ super() this.x = 2 super.x = 3 // this.x = 3 console.log(super.x); // undefined console.log(this.x); // 3 }}// super作为对象在静态方法中// 指向父类而不是原型对象class Parent{ static myMethod(msg){ console.log(`static-${ msg}`); } myMethod(msg){ console.log(`普通-${ msg}`); } }class Child extends Parent{ static myMethod(msg){ super.myMethod(msg) } myMethod(msg){ super.myMethod(msg) }}// 子类的静态方法中通过super调用父类的方法时 // 方法内部的this指向当前的子类 而不是子类的实例class A{ constructor(){ this.x = 1 } static print(){ console.log(this.x); }}class B extends A{ constructor(){ super() this.x = 2 } static fn(){ super.print() }}
转载地址:https://codeboy.blog.csdn.net/article/details/107132121 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月30日 05时31分30秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
为什么曾经优秀的人突然变得平庸?
2019-04-29
知识图谱在小米的应用与探索
2019-04-29
图解|打工人看腾讯这道多线程面试题
2019-04-29
23张图!万字详解「链表」,从小白到大佬!
2019-04-29
高德全链路压测——语料智能化演进之路
2019-04-29
打工人到什么状态,就可以离职了?
2019-04-29
面向领域的微服务架构
2019-04-29
为什么不建议把数据库部署在Docker容器内
2019-04-29
待在小公司好多年了,微服务还没怎么玩过。。。
2019-04-29
万字长文,理解Elasticsearch和面试总结
2019-04-29
面试官:数据量很大,分页查询很慢,有什么优化方案?
2019-04-29
编写 if 时不带 else,你的代码会更好!
2019-04-29
字节跳动总结的设计模式 PDF 火了,完整版开放下载!
2019-04-29
新款 iPad 写代码 真香,包邮送一个!
2019-04-29
7年,从“游戏少年”到大厂技术总监的逆袭之路
2019-04-29
超级全面的 SpringBoot 注解介绍,每一个用途都应该清晰
2019-04-29
排名前 16 的 Java 工具类,哪个你没用过?
2019-04-29