ES6部分源码重写 -2(ES6-构造函数初步解析)
时间:2022-07-25
本文章向大家介绍ES6部分源码重写 -2(ES6-构造函数初步解析),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
ES6中的class
上一篇讲解了ES5中的对象的创建和继承,使用ES5的时候有一些要求和限制 现在使用ES6来搞
在使用之前我们先来看看ES6和ES5的对比各有什么优缺点吧
项目 |
ES5 |
ES6 |
---|---|---|
优点 |
构造函数上不能添加静态属性 |
1:必须要new来创建对象,否则会报错,2: class 这种写法,类的原型就不能枚举 。 3:ststaic定义的方法,是Plane的方法,谁继承就会变成谁的方法,而不是new出来对象的方法 |
缺点 |
不用new,直接运行构造方法,也可以获得对象。构造函数没有强制需要大小写,继承麻烦 |
构造函数没有强制需要大小写 |
class Plane{
static rotated(){
console.log("rotate");
}
constructor(name){
this.name = name || '普通飞机';
this.blood = 100;
}
fly(){
console.log("fly");
}
}
class AttackPlane extends Plane{
constructor(name){
super(name);
this.seats = 7;
}
dan(){
console.log("biubiubiu");
}
}
let plane = new Plane();
let apPlane = new AttackPlane("二哈战斗机");
看到这个例子是不是感觉和java中的类有一些相似了 接下来详细讲一下这些关键词ES6中的作用吧
- class 定义一个类
- static class的静态方法,此方法时定义在构造函数上的方法
- constructor
构造函数,在里面可以定义私有变量
- fly
这里的fly就是一个方法名,定义的是原型上的方法
- extends
继承,子类继承父类的方法,继承的东西为原型上的方法
- super
继承父类的私有属性,这里我觉得实质应该还是Plane.call(this, arguments);
- Linux系统防CC攻击自动拉黑IP增强版Shell脚本
- 利用artDialog给网站添加一个能显示搜索来路和关键词的欢迎框
- 解决启用wp super cache缓存后,页面追加多个斜杠仍然可以访问的隐患
- WordPress集成底部滚动推荐条,让好文章不再被埋没
- go语言base64加密解密的方法
- WordPress酷炫CSS3读者墙,排名按年度、本月、本周划分的小方法
- WordPress给文章添加百度是否已收录查询和显示功能(自定义栏目优化版)
- PHP制作百度站内搜索绿色通道的网页列表数据文件
- 分享几个可用的二维码API,以及给博客添加文章二维码图片的方法
- AI即开即用,这是悄然推出的“腾讯最新AI技术”小程序
- Android Linker 与 SO 加壳技术
- Go语言操作mysql数据库简单例子
- go语言的sql包原理与用法分析
- WordPress免插件生成完整站点地图(sitemap.xml)的php代码
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- tcsetpgrp failed重新编译tini
- s3cmd ls之迷惑
- 构建pyflink镜像
- apt-get update遇到NO_PUBKEY
- 遇到mpi worker exited on signal 9
- 容器共享GPU时查看容器使用的GPU编号
- oci runtime error: exec failed: container_linux.go:247: starting container process caused “exec: “/
- R|UpSet-集合可视化
- 美国队长的盾(一) 同心圆
- R|clusterProfiler-富集分析
- R|fastqcr QC数据处理
- R|timeROC-分析
- R|ML_code-线性回归(2)
- R|机器学习入门-多元线性回归(3)
- Bioinfo|bedtools-操作VCF文件