本文实例讲述了es6 super关键字的理解与应用。分享给大家供大家参考,具体如下:
前面介绍了static关键字,class类还有另外一个关键字super
super不仅仅是一个关键字,还可以作为函数和对象。
函数:在子类继承父类中,super作为函数调用,只能写在子类的构造函数(constructor)里面,super代表的是父类的构造函数,
难点理解
但是执行过时supre()代表的是子类,super()里面的this指向子类的实例对象this。
class A { constructor() { console.log(new.target.name); } } class B extends A { constructor() { super();//这里的super相当于A类的constructor构造函数,会执行A的constructor,但是此时的this指 //向的是B,所以打印出B //换一种方法理解是:在执行super时,A把constructor方法给了B,此时B有了A的功能,但是执 //行的是B的内容,也就是es5的A.prototype.constructor.call(this)。 } } new A() // A new B() // B
对象:
这里重点理解下对象,概念相对抽象
super作为对象使用时,分为在普通方法中使用和在静态方法中使用
在普通方法找中使用:super指向父类的原型,即A.prototype,可以访问到原型上的方法和属性
逻辑抽象一:
ES6 规定,在子类普通方法中通过super调用父类的方法时,方法内部的this指向当前的子类实例。
class A { constructor() { this.x = 1; } print() { console.log(this.x); } } class B extends A { constructor() { super(); this.x = 2; } m() { super.print(); } } let b = new B(); b.m() // 2
super.print()虽然调用的是A.prototype.print(),但是A.prototype.print()内部的this指向子类B的实例
super作为对象,用在静态方法之中,这时super将指向父类,而不是父类的原型对象。
class Parent { static myMethod(msg) { console.log('static', msg); } myMethod(msg) { console.log('instance', msg); } } class Child extends Parent { static myMethod(msg) { super.myMethod(msg); } myMethod(msg) { super.myMethod(msg); } } Child.myMethod(1); // static 1 var child = new Child(); child.myMethod(2); // instance 2
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
es6,super关键字
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 群星.2009-田野的春天徐沛东精选作品集【太平洋影音】【WAV+CUE】
- 蔡琴-闽南语十年精选[吉马引进版][WAV+CUE整轨]
- 赵鹏-《王者無疆》Hi-Res24-96[FLAC]
- 赵鹏《我的神话》Hi-Res[24bit-96kHz]【flac】
- 五月天《后青春期的诗》[FLAC][1.91G]
- 伍佰 《伍佰精选-滚石香港黄金十年》 [FLAC 192kHz 24bit][2.5G]
- 许巍《时光漫步》 [FLAC][1.7G]
- 月光鳍用什么鱼饵?月光鳍鱼饵介绍一览
- 三神之眼是什么介绍,三神之眼有什么用
- 【原神】V5.1攻略 |「胡桃」一图流丨角色解析攻略
- 《龙腾世纪4》IGN高分引争议:玩家点踩数破两万五
- 《暗喻幻想》全球销量破百万!官方发布荣誉宣传片
- 《龙腾世纪4》10月31日发售 还能创建变性人角色!
- 李知恩IU-Palette[Hi-Res24bit-96khz]-2017FLAC
- 乡村民谣女声发烧精讯Acoustic.Audiophile.Voices》2004[低速原抓WAV+CUE]