在这篇文章中,我们将讨论ES6类和ES5函数构造器之间的区别。两者都是为创建新对象服务的,但它们之间仍有一些区别。

ES6类构造函数: ES6类构造函数的工作原理与其他面向对象语言中的类构造函数完全相同。它们被用来创建新的对象。

class User {
    constructor(name, age, gender) {
        this.name = name;
        this.age = age;
    this.gender = gender;
    }
    print() {
        console.log(`${this.name} has an age of
        ${this.age} and gender of ${this.gender}`);
    }
}

const Obj = new User('MyName', '19', 'Male');
Obj.print();

ES5函数构造器: ES5函数构造器也被用来创建对象。通过使用函数构造器,上面的例子可以被修改如下:

function User(name, age, gender) {
    this.age = age;
    this.name = name;
    this.gender = gender;
    this.print = function () {
        console.log(`${this.name} has an age of ${this.age}
                        and gender of ${this.gender}`);
    };
}

const Obj = new User('Yii-bai', '19', 'Male');
Obj.print();

ES6类和ES5函数构造器之间的区别:

ES6类构造函数 ES5函数构造函数
如上所述,ES6类构造器通过在其原型(蓝图)中添加函数来创建对象。 ES5函数构造器也是通过继承属性来创建对象的。
它确保开发者使用的这个关键词是指开发者正在创建的对象。 任何函数都可以被用作函数构造器,它主要侧重于创建可重复使用的对象创建代码。
它的语法类似于其他面向对象编程语言中的对象创建。 它的语法是独特的,一般不在其他面向对象的编程语言中出现。
这可以说是构造函数的语法基础,并使用new操作符来实例化对象。 这也是使用一个新操作符来创建对象,但重点是对象如何被实例化。