ES6 中的 Constructor 构造器解析

阅读时长 4 分钟读完

在 JavaScript 中,构造函数是创建新对象的一种特殊函数。在 ES5 中,我们可以使用函数(Function)或对象(Object)来创建构造函数以及对象,然而,ES6 为了解决这个问题,引入了 Constructor 构造器。

Constructor 构造器

Constructor 构造器是 ES6 中一种新的用于创建类的方法。它允许我们使用 class 关键字声明一个类,并且定义一个构造函数来初始化这个类的实例对象。

-- -------------------- ---- -------
----- ------ -
  ----------------- ---- -
    --------- - -----
    -------- - ----
  -
-

----- ----- - --- --------------- ----
------------------------ -- -----
----------------------- -- --

在上面的代码中,我们定义了一个名为 Person 的类,它包含一个构造函数来初始化 name 和 age 属性,并使用 new 关键字实例化了一个名为 alice 的 Person 对象。

除了定义一个构造函数之外,我们还可以在类中定义其他函数,它们会成为类的原型方法:

-- -------------------- ---- -------
----- ------ -
  ----------------- ---- -
    --------- - -----
    -------- - ----
  -

  ---------- -
    ------------------- -- ---- -- ------------ --- --- ----------- ----- -------
  -
-

----- ----- - --- --------------- ----
----------------- -- ------ -- ---- -- ----- --- --- -- ----- ----

在上面的代码中,我们向 Person 类中添加了一个名为 sayHello 的函数作为原型方法,它可以被 alice 对象调用。

继承

在 ES6 中,我们可以使用 extends 关键字来创建子类,并且使用 super 关键字来调用父类的构造函数。

-- -------------------- ---- -------
----- ------ -
  ----------------- -
    --------- - -----
  -

  --------- -
    --------------- ---- -- ----------------
  -
-

----- --- ------- ------ -
  ----------------- ------ -
    ------------
    ---------- - ------
  -

  ---------- -
    --------------- ----- -- -----------------
  -
-

----- ---- - --- ----------- ------- ------------
--------------- -- -- ---- -- -----
---------------- -- -- ----- -- ------ ----------

在上面的代码中,我们定义了一个 Animal 类,它包含一个构造函数和一个 sayName 方法。然后我们创建了一个名为 Dog 的子类,它继承自 Animal 类,并添加了一个构造函数和一个 sayBreed 方法。

在 Dog 类的构造函数中,我们通过调用 super(name) 来调用父类 Animal 的构造函数,并将 name 参数传递给它。这样,我们就可以在子类中初始化父类的属性了。

总结

在本文中,我们学习了 ES6 中的 Constructor 构造器,它使得创建类更加方便和直观。我们也学习了如何在类中定义构造函数和原型方法,以及如何通过继承来创建子类。Constructor 构造器为我们提供了一种更加舒适的方式来创建类。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6536402a7d4982a6ebe3921a

纠错
反馈