(精华)2020年7月4日 JavaScript高级篇 ES6(class类的继承)
发布日期:2021-06-29 15:06:38
浏览次数:3
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月23日 11时55分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2020-10-27
2019-04-29
OpenCV+python识别并打印HSV颜色
2019-04-29
2021-03-29
2019-04-29
网络攻击与防御--引言
2019-04-29
网络攻击与防御--网络协议漏洞
2019-04-29
sql注入: 判断注入点类型
2019-04-29
千人千面Elasticsearch实战学习笔记
2019-04-29
最大子数组问题(递归)(java)
2019-04-29
2021年第十二届蓝桥杯软件赛省赛第二场 C/C++ 大学 A 组
2019-04-29
2020年哨兵数据批量下载(USGS)
2019-04-29
简单3步快速生成千万级别mysql测试数据库,模拟电商数据
2019-04-29
EasyDSS平台接入设备量过多的情况下如何进行批量推流测试?
2019-04-29
mysql数据库操作基础
2019-04-29
Mariadb基础管理
2019-04-29
awk 的内置变量 NF、NR、FNR、FS、OFS、RS、ORS
2019-04-29
CentOS系统内核升级攻略
2019-04-29