源于react里面constructor()和super()的使用
2024-09-02 17:32:21
es5里面没有继承的话
//构造函数
function People(name,age){
this.age = age;
this.name = name
}
let p1 = new People('hahhaha', '88')
es6里面通过class实现
复习一个重要知识点——ES5中new到底做了些啥?
当一个构造函数前加上new的时候,背地里来做了四件事:
1.生成一个空的对象并将其作为 this;
2.将空对象的 __proto__
指向构造函数的 prototype
;
3.运行该构造函数;
4.如果构造函数没有 return 或者 return 一个返回 this 值是基本类型,则返回this;如果 return 一个引用类型,则返回这个引用类型。
简单解释,就是在ES5的继承中,先创建子类的实例对象this,然后再将父类的方法添加到this上( Parent.apply(this)
)。而ES6采用的是先创建父类的实例this(故要先调用 super( )
方法),完后再用子类的构造函数修改this。
补充:
1.子类如果没有 constructor
方法,该方法会被默认添加,即任何的子类都有 constructor
方法,无论定义没定义,它就在那里,不离不弃。
2.在子类的构造函数 constructor( )
中,只有调用 super( )
方法之后,才可以使用 this
关键字,否则会报错。
最新文章
- 关于SVG的viewBox
- 修改hosts文件在本地使域名解析到指定IP
- Fedora17安装MySQL及配置
- Spring IOC容器中注入bean
- 用stimulsoft Reports报表工具制作简单报表的过程
- Tomcat部署web应用的方式
- Another 20 Docs and Guides for Front-End Developers
- Android 退出提示框 代码
- 【取对数+科学计数法】【HDU1060】 N^N
- Bar Codes
- Java IO面试
- hdu1312 Red and Black 简单BFS
- 201521123114 《Java程序设计》第8周学习总结
- Windows历史
- spring 依赖注入时,什么时候会创建代理类
- Java基础(basis)-----关键字final和static的作用
- Struts 2 初步入门(一)
- SelectObject函数
- 使用Jena执行SPARQL的Select和Ask查询
- org.apache.log4j日志级别
热门文章
- 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板
- 网易云课堂_C++程序设计入门(下)_第9单元:白公曾咏牡丹芳,一种鲜妍独“异常”_第9单元 - 作业5:OJ编程 - 使用异常进行图形类的错误处理
- beanFactory 设计模式 Bean 生命周期
- 查询处理Oracle锁表的问题
- 20191209 【归档】Linux就该这么学
- linux文件过多导致移动失败解决办法
- ucloud建新主机
- Oozie 3.3.1安装
- BATJ的常见java面试题
- Luogu P4823 [TJOI2013]拯救小矮人