我们先回顾用函数实现Student的方法:

function Student(name) {this.name = name; } Student.prototype.hello = function () { alert('Hello, ' + this.name + '!'); } 

如果用新的class关键字来编写Student,可以这样写:

class Student {constructor(name) {this.name = name;}hello() {alert('Hello, ' + this.name + '!'); } }

比较一下就可以发现,class的定义包含了构造函数constructor和定义在原型对象上的函数hello()

用class定义对象的另一个巨大的好处是继承更方便了,一想我们从Student派生一个PrimaryStudent需要编写的代码量。现在,原型继承的中间对象,原型对象的构造函数等等都不需要考虑了,直接通过extends来实现:
class primereStudent extends Student(name,grade){constructor(name,grade){super(name);this.grade=grade;}saygrade(){return ('My grade is: ' + this.grade );}
}

解释:  要想继承,必须有 extends,constructor ,super(xxxx), 我们这里,constructor构造函数,name 是 我们继承过来的,所以要super(name)/*类似python*/,   grade是新参数,所以要 this.grade=grade,

asygrade 是 我们自己的函数,所以声明。

转载于:https://www.cnblogs.com/3532gll/p/9535610.html

JS - Class继承相关推荐

  1. Js Call方法详解(js 的继承)

    call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg2[, [,.argN ...

  2. js中继承的几种用法总结(apply,call,prototype)

    本篇文章主要介绍了js中继承的几种用法总结(apply,call,prototype) 需要的朋友可以过来参考下,希望对大家有所帮助 一,js中对象继承 js中有三种继承方式 1.js原型(proto ...

  3. 你真的理解JS的继承了吗?

    噫吁嚱,js之难,难于上青天 学习js的这几年,在原型链和继承上花了不知道多少时间,每当自以为已经吃透它的时候,总是不经意的会出现各种难以理解的幺蛾子.也许就像kyle大佬说的那样,js的继承真的是' ...

  4. (转)js实现继承的5种方式

    js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承有以下通用的几种方式 1.使用对象冒充实现继承(该种实 ...

  5. 面试官问:JS的继承

    原文作者若川,掘金链接:https://juejin.im/post/5c433e216fb9a049c15f841b 写于2019年2月20日,现在发到公众号声明原创,之前被<前端大全> ...

  6. Node.js: 如何继承 events 自定义事件及触发函数

    events 是node.js的核心api ,几乎大部分node.js 的api都继承 events 类(javascript中没有类,也不存在继承,确切说是模拟类和继承,点击查看) 比如我们常见的 ...

  7. 学会这5种JS函数继承方式,前端面试你至少成功50%

    摘要:函数继承是在JS里比较基础也是比较重要的一部分,而且也是面试中常常要问到的.下面带你快速了解JS中有哪几种是经常出现且必须掌握的继承方式.掌握下面的内容面试也差不多没问题啦~ 本文分享自华为云社 ...

  8. JS原型继承和类式继承

    类式继承(构造函数) JS中其实是没有类的概念的,所谓的类也是模拟出来的.特别是当我们是用new 关键字的时候,就使得"类"的概念就越像其他语言中的类了.类式继承是在函数对象内调用 ...

  9. js - prototype 继承

    基本的用法 把ClassA的一个实例赋值给ClassB ClassB就继承了ClassA的所有属性 1 function ClassA(){ 2 this.a='a'; 3 } 4 function ...

  10. oncreate为什么一定要调用父类的oncreat_为什么你老是讲不清楚JS的继承模式

    点击上方 "前端技术精选" 关注,星标或者置顶 17点30分准时推送,第一时间送达 作者:DBCdouble | 编辑:前端妹 来自:juejin.im/post/68696896 ...

最新文章

  1. CrazePony飞行器--通信部分介绍【转】
  2. 无法使用BIPublisher开发报表
  3. Matlab图形用户界面编程初级入门
  4. 这 17 个 JVM 参数,高级 Java 必须掌握!
  5. mysql校对规则设计编码命令
  6. 剖析Hadoop和Spark的Shuffle过程差异(一)
  7. IDEA2021创建Java Web项目
  8. SQL语句 怎么把从一个表中查出来数据插入到另一个表中
  9. Materials about design pattern
  10. Blocking/Non-Blocking VS Sync/Async VS Overlapped
  11. POJ-2069 Super Star(最小球覆盖)
  12. js change事件 获取新值和旧值_前端总结(JS篇)
  13. express 创建ejs项目,使用html
  14. c语言学习-输入一个十进制数,输出其对应的八进制数据
  15. 我的世界工业服务器透视修改,教程/透视镜 - Minecraft Wiki,最详细的官方我的世界百科...
  16. HTTP1.1之后的长连接和WebSocket的长连接之间的区别
  17. jsp页面输出excel文件乱码解决方案
  18. 面试必考:秒杀系统的9个核心知识点,一次性打包给你
  19. 【java】列表导出excel(支持单元格内容换行展示)
  20. Largest Submatrix (最大全1子矩阵)

热门文章

  1. [读书笔记] 深入探索Android热修复技术原理 (手淘技术团队)
  2. Android Binder机制----实现自定义的系统服务
  3. 两个list关联合并_算法分享---两个有序链表的合并(C语言)
  4. 和nptf螺纹一样吗_摩托车火花塞长短不同,对发动机有影响吗?
  5. 华为v9计算机在哪方面的应用,华为荣耀V9和华为Mate9区别在哪 哪款更好?
  6. anaconda tensorflow 2.3_2020款福特撼路者将于7月17日上市 动力升级/搭载2.3T+10AT
  7. php json_encode后乱码,php json_encode 中文乱码的解决方法
  8. dmx512协议c语言编程,DMX512协议+c程序代码.pdf
  9. thinkphp memcache mysql_thinkphp中memcache的用法实例
  10. Shell命令-内置命令及其它之exec、export