博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
18、ES6的class。
阅读量:7251 次
发布时间:2019-06-29

本文共 1701 字,大约阅读时间需要 5 分钟。

hot3.png

一、class的几点特性。

ES6可以用class关键字来定义一个类。可以有下面几点特性:

  • class定义类,用constructor来定义类的构造方法。
  • new关键字创建类的实例。
  • extends关键字实现类的继承。
  • 通过super关键字调用父类的构造方法。
  • 可以重新父类的一般方法。

二、class定义的类和function定义的方法比较。

function Person1(name,age) {        this.name = name;        this.age = age;        this.showName = function () {            console.log(this.name);        }    }    let person1 = new Person1("zhangsan",23);    console.log(person1);    person1.showName();//打印 zhangsan    class Person2 {        //类的构造方法        constructor(name,age){            this.name = name;            this.age = age;        }        //类的一般方法        showName(){             console.log(this.name);        }    }    let person2 = new Person2("zhangsan",23);    console.log(person2);    person2.showName();

上面Person1、Person2 功能都是一样的。打印如下:

232026_PfLw_2601303.png

有一点不一样的是通过class定义的Person2的一般方法showName()方法是显示在原型中的。通过function定义的Person1的showName()方法是在function内部。如下所示:

231555_8mr8_2601303.png

 

三、class的继承和方法重写。

class Person2 {        //类的构造方法        constructor(name,age){            this.name = name;            this.age = age;        }        //类的一般方法        showName(){             console.log(this.name);        }    }    let person2 = new Person2("zhangsan",23);    console.log(person2);    person2.showName();    class Child extends Person2 {        constructor(name,age,sex){            super(name,age); //调用父类的构造方法            this.sex = sex;        }        //类的一般方法        showName(){            console.log(this.name,this.sex);        }    }    let child  = new Child("lisi",23,'男');    console.log(child);    //如果子类不重写,调用父类的showName方法。    //子类重新就调用子类的showName方法。    child.showName();

如果子类不重写showName()方法,调用父类的showName()方法。子类重新就调用子类的showName方法。打印如下:

232501_8f2t_2601303.png

 

转载于:https://my.oschina.net/kunBlog/blog/1648169

你可能感兴趣的文章
useBean
查看>>
约瑟夫环C#解决方法
查看>>
ZeroMQ安装说明
查看>>
Ring3 Hook API
查看>>
size of pointer is not size of int
查看>>
插入排序
查看>>
IE 内存泄露
查看>>
mybatis加入条件
查看>>
java基础:11.1 递归
查看>>
Educational Codeforces Round 27
查看>>
Java根据链接生成二维码
查看>>
前台上传文件小优化,上传文件的文件名放到输入框中展示
查看>>
Python3学习笔记22-文件读写
查看>>
老菜鸟苦战oracle asm
查看>>
SUSE LINUX下文件系统变只读的问题解决
查看>>
awk多维数组案例多角度解决实战
查看>>
《跟菜鸟学Cisco UC部署实战》-第 2 章 部署基本环境(一共12章,免费)
查看>>
DDOS***类型以及iptables防范ddos脚本
查看>>
使用顶层架构方法论进行航母作战模拟
查看>>
HSRP和VRRP基本工作原理
查看>>