ES5/ES6 的继承除了写法以外还有什么区别?

ES5/ES6 的继承除了写法以外还有什么区别?

1、ES5的继承实质上是先创建子类的实例对象,然后再将父类的方法添加到 this 上(如:Parent.apply(this))。

2、ES6的继承机制完全不同,实质上是先创建父类的实力对象 this(所以必须调用父类的 super() 方法),然后再用子类的构造函数修改 this。

3、ES5的继承时通过原型或构造函数机制来实现。

4、ES6通过 class 关键字定义类,里面有构造方法,类之间通过 extends 关键字实现继承。

5、子类必须在 constructor 方法中调用 super 方法,否则新建示例报错。因为子类没有自己的 this 对象,而是继承了父类的 this 对象,然后对其进行加工。如果不调用 super 方法,子类得不到 this 对象。

6、注意: super 关键字指代父类的实例,即父类的 this 对象。

7、注意:在子类构造函数中,调用 super 后,才可使用 this 关键字,否则报错。

相关推荐
维天说2 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zane19943 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了4 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品4 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
啊湘4 小时前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
Java内核笔记4 小时前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端
糖果店的幽灵4 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
极光代码工作室6 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发
我是唐青枫6 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
ihuyigui6 小时前
海外签收通知短信接口
android·java·开发语言·前端·数据库·后端