实现es5和es6的类

类的由来

JavaScript语言的传统方法是通过构造函数定义并生成新对象,这种写法和传统的面向对象语言差异较大。所以,ES6引入了Class这个概念作为对象的模板。
class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到。

es5 中的构造函数

function Person(name, age) {
    this.name = name;
    this.age = age;
}

Person.prototype.toString = function () {
    return '(' + this.name + ',' + this.age + ')';
}
var p = new Person('xiaoMing', 18);

es6 通过class实现

class Person {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
    toString() {
        return '(' + this.name + ',' + this.age + ')';
    }
}
var p = new Person('xiaoMing', 18);

版权声明:本文为weixin_44730897原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。