ES6-使用 super 关键字访问原型对象
let person = {getGreeting () {return 'Hello';}};let dog = {getGreeting () {return 'woof';}};// let friend = {// getGreeting () {// return Object.getPrototypeOf(this).getGreeting.call(this) + ', hi';// }// };// ES 6 引入了 super 关键字,super 指向当前对象的原型对象,实际上也就是 Object.getPrototypeOf(this) 的值,于是,上面的代码可以简化成如下形式:let friend = {getGreeting () {return super.getGreeting() + ', hi';}};// 使用 setPrototypeOf() 方法将 friend 对象的原型对象修改成 personObject.setPrototypeOf(friend, person);console.log(friend.getGreeting()); // 'Hello'console.log(Object.getPrototypeOf(friend) === person); // true// 使用 setPrototypeOf() 方法将 friend 对象的原型对象修改成 dogObject.setPrototypeOf(friend, dog);console.log(friend.getGreeting()); // 'Hello'console.log(Object.getPrototypeOf(friend) === dog); // true
ES6-使用 super 关键字访问原型对象相关推荐
- ES6的 super 关键字
Class之间可以通过extends关键字实现继承,这比ES5的通过修改原型链实现继承,要清晰和方便很多. 子类必须在constructor方法中调用super方法,否则新建实例时会报错. 这是因为子 ...
- ES6 (二十二)Class 的继承、extends关键字、super 关键字(函数调用(constructor)、对象(父类原型对象))、原型对象(原型链)、Mixin 模式
ES6 (二十二)Class 的继承.extends关键字.super 关键字(函数调用(constructor).对象(父类原型对象)).原型对象(原型链).Mixin 模式 文章目录 ES6 (二 ...
- es6 super 关键字
super 关键字 我们知道,this关键字总是指向函数所在的当前对象,ES6 又新增了另一个类似的关键字super,指向当前对象的原型对象. const proto = { foo: 'hello' ...
- Java-Day12 面向对象的三大特征之封装、继承,单例模式(饿汉式、懒汉式)、方法重写 (覆盖)、注解 (annotation)、super关键字、对象的创建流程超详细
目录 1. 面向对象的三大特征之封装 1.1 封装的含义 1.2 封装的目的 1.3 封装的优点 1.4 封装的实现过程 1.5 拓展知识:JavaBean 2. 面向对象的三大特征之继承 2.1 继 ...
- java super父类的父类_java super关键字,super访问父类成员详解
之情给大家介绍了一下super调用父类构造方法方面的内容,下面要接着给大家介绍的就是super访问父类成员方面的内容,分别对super调用成员属性以及super调用成员方法做了详细介绍. 在子类的成员 ...
- Java面向对象之继承,方法重写,super关键字,员工类系列继承题
在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...
- 1.4 super关键字详解
由于子类不能继承父类的构造方法,因此,如果要调用父类的构造方法,可以使用 super 关键字.super 可以用来访问父类的构造方法.普通方法和属性. super 关键字的功能: 在子类的构造方法中显 ...
- c 子类对象 访问父类对象受保护成员_06-JavaSe面向对象
一.static 1.它是一种修饰符 2.使用位置:它用来修饰成员变量和成员方法 static修饰成员变量,叫类变量: static修饰成员方法,叫类方法: 类成员=类变量+类方法 没有使用stati ...
- java super关键字简述
java super关键字简述 super关键字访问父类属性,访问权限必须是允许的 super关键字访问父类属性,访问权限必须是允许的 当创建子类对象时,默认调用父类的无参构造方法,除非显式调用父类的 ...
最新文章
- Nat. Mach. Intell. | FFPred-GAN:“以假乱真“—基于GAN创建合成特征样本改进蛋白质功能预测...
- python3 paramiko实现ssh客户端
- OpenGL与OpenCV实现增强现实
- ospf hello时间和dead_深入理解OSPF协议----第二讲:OSPF报文类型
- json list格式_来来来,一文让你读懂Cocos Creator如何读写JSON文件
- Loj#3026-「ROIR 2018 Day1」管道监控【Trie,费用流】
- Exynos4412裸机开发——中断处理
- MySql 优化的 30 条建议
- 【搞事情】英文文档单词对比自动翻译
- Fleaphp函数用法举例
- 《21天学通C语言(第7版)》一2.6 课后研习
- Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)
- ActiveMQ学习笔记(二十三)Comsumer高级特性2
- python中的pd是什么意思_python中pd的用法 python中列表的用法
- 集线器与网桥的原理和作用
- 关于恶意说说自动在QQ空间转发的机制
- Google Deepmind的自杀开关研究或缓解人工智能恐慌
- 总结python中列表、元组、字典、集合的共同点和不同点
- 【VSCode报错】 Error while fetching extensions : XHR failed
- 微信企业号接入JDK6和JDK7及JDK8加解密失败处理(Java)
热门文章
- MySQL 基础知识(基本架构、存储引擎差异)
- C++基于TCP和UDP的socket通信
- [转]Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合
- 学习动态性能表(19)--v$undostat
- hadoop Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out
- Mac OS X 遭遇并抵御 ARP 攻击
- blog error #include stream.h
- 拆分器SplitContainer控件
- __cdecl __fastcall与 __stdcall 调用约定
- 完美替代Mask RCNN!BlendMask:实例分割新标杆