码迷,mamicode.com
首页 > 其他好文 > 详细

es6 class以及构造函数(constructor)

时间:2018-09-09 15:12:56      阅读:597      评论:0      收藏:0      [点我收藏+]

标签:struct   const   func   highlight   cto   div   函数   his   返回   

es5中,生成实例对象通过构造函数来生成:

function Fun(a,b) {
    this.a = a;
    this.b = b;
}
Fun.prototype.showA = function () {
    console.log(this.a)
}
var fun = new Fun(1,2);
fun.showA();//1

  

es6则引用了class的概念,使得更接近java、c++等语言,更加直观。如:

class Fun {
    constructor(a,b){
        this.a = a;
        this.b = b;
    }
    showA() {
        console.log(this.a);
    }
}
var fun = new Fun(1,2);
fun.showA();//1

这两种写法是一样的,在es6中,class可以理解为一个语法糖,只是让这种写法更加直观。
要注意的是,es6中声明新的实例必须要用new声明。
其中constructor为类的默认方法,通过new的调用可以执行这个方法。每个类都必须要有这个方法,如果没有显示定义,则一个空的constructor被添加到类里面。constructor方法默认返回实例对象,即this。也可以返回其他对象。这事,新的实例instanceof当前class就会报错。

es6 class以及构造函数(constructor)

标签:struct   const   func   highlight   cto   div   函数   his   返回   

原文地址:https://www.cnblogs.com/yiangli/p/9613155.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!