es6声明一个类
js语言的传统方式是通过定义构造函数,生成心得对象。是一种基于原型的面向对象系统。在es6中增加了class类的概念,可以使用class关键字来声明一个类。之后用这个类来实例化对象。
构造函数示例

const Demo = function(a,b){
this.a = a;
this.b = b;
return this;
}
Demo.prototype = {
constructor: Demo,
print: function(){
console.log(this.a+this.b);
}
}
const demo = new Demo('jane','yun').print();


class Demo {
constructor(a,b){
this.a = a;
this.b = b;
return this;
}
print(){
console.log(this.a+this.b);
}
}
const demo = new Demo('hello','world').print();

Demo中的constructor是构造方法,this关键字代表示例对象。
注:定义类的方法的时候不需要写function,另外 也不需要逗号。
2:静态方法

class Point{
constructor(a,b){
this.a = a;
this.b = b;
return this;
}
static print(){
console.log('say hi');
}
}
const Point.print();

3:继承

class A{
constructor(a){
this.a = a;
return this;
}
string(){
return 'hello,'+ this.a
}
}
class B extends A{
constructor(a){
super();
}
m(){
super.sting();
}
}
const b = new B(3);

super
1、super作为函数调用时,代表父类的构造函数。ES6 要求,子类的构造函数必须执行一次super函数。
2、super作为对象时,在普通方法中,指向父类的原型对象;在静态方法中,指向父类
super代表了父类A的构造函数,但是返回的是子类B的实例,即super内部的this指的是B,因此super()在这里相当于A.prototype.constructor.call(this)。
es6声明一个类的更多相关文章
- 面试6 在c#中如何声明一个类不能被继承
C#通过关键字 sealed 可以声明一个类型不能被继承. 设计中应该为所有不被作为基类的类型添加sealed关键字,用以避免各种来自继承的易产生的错误.
- C#循环声明一个类
宗旨就是把实例化的类循环放到字典里面 Dictionary<string, Data> dic = new Dictionary<string, Data>(); ; i &l ...
- ES6中的类
前面的话 大多数面向对象的编程语言都支持类和类继承的特性,而JS却不支持这些特性,只能通过其他方法定义并关联多个相似的对象,这种状态一直延续到了ES5.由于类似的库层出不穷,最终还是在ECMAScri ...
- ES6里关于类的拓展(一)
大多数面向对象的编程语言都支持类和类继承的特性,而JS却不支持这些特性,只能通过其他方法定义并关联多个相似的对象,这种状态一直延续到了ES5.由于类似的库层出不穷,最终还是在ECMAScript 6中 ...
- es6入门5--class类的基本用法
在ES6之前,准确来说JavaScript语言并无类的概念,却有模拟类的做法.相比在类似java这类传统面向对象语言中通过类来生成实例,js则通过构造函数模拟类来生成实例. 这是因为在JS设计初期,作 ...
- PHP - 创建一个类
/* * 类的实现 */ //声明一个类 class Person { //私有字段 private $name; private $sex; private $age; //构造函数 functio ...
- java学习笔记—实现一个类MyInputStream(28)
1 实现一个类MyInputStream读取文件,且不能抛出异常 public class TestDemo { public static void main(String[] args) thro ...
- JavaScript、ES6中的类和对象
面向对象可以用于描述现实世界的事物,但是事物分为具体的(特指的)事物和抽象的(泛指的)事物. 面向对象思维的特点: 1.抽取(抽象)对象共有的属性和行为组织(封装)成一个类(模板) 2. ...
- python 装饰器 第十步:装饰器来装饰器一个类
第十步:装饰器来装饰一个类 def kuozhan(cls): print(cls) #声明一个类并且返回 def newHuman(): # 扩展类的功能1 cls.cloth = '漂亮的小裙子' ...
随机推荐
- 搭建OpenStack私有云准备工作
Centos7安装完成后克隆其他子节点 首先在VMware中:右击 虚拟机controller-->设置-->添加-->网络适配器,然后做如下设置: 在VMware中操作 点击:克隆 ...
- codecs打开不同步给编码的文件
实例: with codecs.open(file=源文件,mode='命令',encoding='编(解)码方式') as 命名:
- java-字节流练习(新手)
参考手册: 关键字: FileInputStream() Input是从硬盘到内存 FileOutputStream() 而output是从内存到硬盘,所以实现了复制粘贴. read() 调用方法读取 ...
- java-随机点名2(新手)
//创建的一个包名. package qige; //导入一个包.import java.util.*; //定义一个类.public class SJdm { //公共静态的主方法. public ...
- Spring框架——AOP
Spring AOP 面向切面编程,OOP面向对象编程,将程序中所有参与模块都抽象成对象,然后通过对象之间的相互调用完成需求. AOP是OOP的一种补充,是在另外一个维度上抽象出对象,具体是指程序运行 ...
- Journal of Proteome Research | Utilization of the Proteome Data Deposited in SRMAtlas for Validating the Existence of the Human Missing Proteins in GPM (解读人:梁嘉琪)
文献名:Utilization of the Proteome Data Deposited in SRMAtlas for Validating the Existence of the Human ...
- hdu6026 dijkstra
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/6026/ 题意大致是:给定一个图,要求删边使他变成树,使得每个点到0的距离就是原图中0到这个点的最短路径.其实就是 ...
- 文件解析漏洞总结(IIS,APACHE,NGINX)
(本文主体来自https://blog.csdn.net/qq_36119192/article/details/82834063) 文件解析漏洞 文件解析漏洞主要由于网站管理员操作不当或者 Web ...
- 使用scrapy-selenium, chrome-headless抓取动态网页
在使用scrapy抓取网页时, 如果遇到使用js动态渲染的页面, 将无法提取到在浏览器中看到的内容. 针对这个问题scrapy官方给出的方案是scrapy-selenium, 这是一个把sel ...
- ASP.NET Core 奇淫技巧之伪属性注入
一.前言 开局先唠嗑一下,许久未曾更新博客,一直在调整自己的状态,去年是我的本命年,或许是应验了本命年的多灾多难,过得十分不顺,不论是生活上还是工作上.还好当我度过了所谓的本命年后,许多事情都在慢慢变 ...