ECMAScript 2017:理解 private 和 public 修饰符

在 ECMAScript 2015 中,JavaScript 引入了类和面向对象编程的概念。然而,JavaScript 中的类并不像其他语言中的类那样严格,而是基于原型的。这意味着,JavaScript 中的类可以动态地添加和删除属性和方法。

在 ECMAScript 2017 中,JavaScript 引入了两个新修饰符:privatepublic。这些修饰符可以帮助开发人员更好地控制类的属性和方法的可见性和可访问性。在本文中,我们将深入探讨这些修饰符的含义、使用方法和示例代码。

private 修饰符

private 修饰符用于限制类的属性和方法的可见性。当一个属性或方法被标记为 private 时,它只能在类内部访问,而不能在外部访问。

下面是一个使用 private 修饰符的示例:

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

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

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

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

在上面的示例中,我们定义了一个 Person 类,并将 name 属性标记为 private。在类的构造函数中,我们使用 this.#name 来初始化 name 属性。在 greet 方法中,我们可以访问 this.#name,因为它在类内部被定义。但是,如果我们尝试在类外部访问 #name 属性,我们将收到一个错误。

public 修饰符

public 修饰符用于标记类的属性和方法为公共的,这意味着它们可以在类内部和外部访问。

下面是一个使用 public 修饰符的示例:

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

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

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

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

在上面的示例中,我们定义了一个 Person 类,并将 name 属性标记为 public。在类的构造函数中,我们使用 this.name 来初始化 name 属性。在 greet 方法中,我们可以访问 this.name,因为它是一个公共属性。同样,我们可以在类外部访问 name 属性。

总结

在 ECMAScript 2017 中,JavaScript 引入了 privatepublic 修饰符,这些修饰符可以帮助开发人员更好地控制类的属性和方法的可见性和可访问性。private 修饰符用于限制属性和方法只能在类内部访问,而 public 修饰符用于标记属性和方法为公共的,可以在类内部和外部访问。

使用这些修饰符可以使代码更加清晰和易于维护。当你编写类时,请考虑使用 privatepublic 修饰符来控制属性和方法的可见性和可访问性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65de8d9f1886fbafa4bd3ef0