ES7 之 Private Fields 新特性使用教程

阅读时长 3 分钟读完

在 JavaScript 的新版本中,ES7 中,它引入了一个新的特性 private fields 确保了数据和信息的安全性和私密性。在这篇文章中,我们将深入探讨该特性,它的工作原理和如何正确使用 private fields。

Private Fields 是什么?

首先,让我们定义一下什么是 Private Fields。在 JavaScript 中,对象属性是公共的,这意味着可以随时访问和更改对象的属性。但是,在某些情况下,我们希望属性不会公开或被更改。这时,Private Fields 可以派上用场。

Private Fields 可以被描述为一个对象的属性,它只能在对象内部被访问和修改。任何尝试从外部访问或修改这些私有字段的试图都将返回一个错误。

如何使用 Private Fields

通过使用 # 作为前缀来定义一个私有字段,如下所示:

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

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

在上述示例中,我们定义了一个名为 Car 的类,它有一个私有字段 #speed,它只能在对象内部访问和修改。

注意,在私有字段名称之前必须加上 # 前缀。这是告诉 JavaScript 引擎这个字段是私有的。

当我们试图从对象外部访问该字段时,它将返回 undefined:

当我们试图在对象外部修改该字段时,它将返回一个错误:

Private Methods

除了可以为对象定义私有字段之外,我们还可以定义私有方法,这些方法只能在对象内部调用。

要定义一个私有方法,只需在方法名称前面加上 # 更改其名称。

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

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

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

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

在上述示例中,我们定义了两个私有方法 #increaseSpeed 和 #decreaseSpeed。这些方法只能在对象内部调用,无法在对象外部访问或调用。

总结

Private Fields 是一种新的特性,它可以确保对象的数据和信息的私密性和安全性。在这篇文章中,我们学习了如何定义私有字段和私有方法,并了解了如何在对象内部访问和修改这些私有字段和方法。这个特性为 JavaScript 中的面向对象编程带来了更高的安全性和可维护性。

现在,你可以在你的项目中使用 Private Fields 来保护你的数据和信息了。

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

纠错
反馈