ECMAScript 2020 新特性:public 和 private 字段

阅读时长 5 分钟读完

在 ECMAScript 2020 的新版本中,出现了两个新的关键字:public 和 private。它们是为了解决 JavaScript 中面向对象编程的难题而引入的,让我们更容易创建和维护清晰的代码。

为什么需要 public 和 private 字段?

在 JavaScript 中,我们可以使用闭包或者函数来模拟私有成员,但这样会带来一些限制。例如,无法继承私有成员,无法保护私有成员不被修改。

public 和 private 关键字的出现,就是为了解决这些问题,让我们能够轻松地创建有用的公共接口和安全的私有成员。

public 字段

public 关键字用于创建可访问的成员,这些成员可以在实例中被访问,也可以在继承类中被访问。

例如,我们可以使用 public 关键字来定义一个简单的 class:

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

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

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

在这个例子中,我们定义了一个名为 name 的 public 变量和一个名为 move 的 public 方法。这些成员可以直接访问,因为它们是公共的。

我们可以使用这个类来创建一个实例:

这样就会输出:Tom moved 10m.

private 字段

private 关键字用于创建不可访问的成员,这些成员只能在类的内部被访问。

例如,我们可以使用 private 关键字来定义一个 class:

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

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

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

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

在这个例子中,我们定义了一个名为 age 的 private 变量和一个名为 grow 的 private 方法。这些成员和 public 成员一样,都是在类中定义的。

但是,它们只能在类的内部被访问,不能在类的外部访问。

我们可以使用这个类来创建一个实例:

这样也会输出:Tom moved 10m.,但是无法访问 cat.age 变量,也无法调用 cat.grow() 方法。

如何使用 public 和 private 字段?

使用 public 和 private 字段的最大好处是它们能够让我们更加清晰地定义代码,同时也能够保护我们的代码不被意外修改。

如果我们要使用一个 public 或 private 变量,只需要在变量名称后面加上一个冒号和一个类型即可。例如:

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

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

在这个例子中,我们创建了一个 name 类型为字符串的 public 变量和一个 age 类型为数字的 private 变量。

如果我们要使用一个 public 或 private 方法,只需要在方法名称后面加上一个括号和可选的参数列表即可。例如:

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

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

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

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

在这个例子中,我们创建了一个名为 move 的 public 方法和一个名为 grow 的 private 方法。

public 和 private 字段的指导意义

使用 public 和 private 字段可以让我们更加清晰地定义代码,同时也能够保护我们的代码不被意外修改。这对于大型的应用程序尤为重要。

使用这些关键字,我们可以定义公共接口和私有实现,从而让代码更具可读性,更易于维护。

结论

public 和 private 关键字是 ECMAScript 2020 中最重要的新特性之一。它们让我们能够轻松地创建有用的公共接口和安全的私有成员,从而使代码更加清晰,更易于维护。

我们可以在定义 class 和 interface 时使用这些关键字来定义公共接口和私有实现,从而让代码更具可读性,更易于维护。

希望这篇文章对大家学习 public 和 private 字段有所帮助!

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

纠错
反馈