TypeError:类中的私有字段不能从外部访问

在 JavaScript 中,我们可以通过使用类来实现面向对象编程。类是一个模板,它定义了对象的属性和方法。在类中,我们可以使用公共和私有字段来组织数据。

公共字段可以被所有类的实例访问,并且可以在类的外部进行访问。私有字段只能在类内部访问,并且不能从类的外部进行访问。在 JavaScript 中,我们可以通过在字段名前面添加下划线 (_) 或在字段名前面添加井号 (#) 来表示一个私有字段。

然而,有时候我们会错误地尝试从类的外部访问私有字段,这时候就会出现 TypeError 错误。

例如,以下是一个带有私有字段的类:

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

在这个类中,#name 是一个私有字段,它只能在类中进行访问。然而,如果我们在类的外部尝试访问 #name,就会收到 TypeError 错误:

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

这个错误告诉我们,访问私有字段是不被允许的,因为它只能从类的内部进行访问。如果我们想要在外部访问 #name,就需要提供公共的访问方法。

例如,我们可以使用 getter 和 setter 方法来访问私有字段:

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

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

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

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

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

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

在这个例子中,我们定义了 getter 和 setter 方法来访问 #name。getter 方法返回私有字段的值,而 setter 方法允许我们从外部修改私有字段的值。因此,我们可以在类的外部使用 person.name 来访问 #name

总结一下,从类的外部访问私有字段会导致 TypeError 错误。为了访问私有字段,我们需要提供公共的访问方法。这可以通过使用 getter 和 setter 方法来实现。

以上是 TypeError:类中的私有字段不能从外部访问 的详细解释和示例代码。希望本文能对前端开发者理解和使用 JavaScript 类中的私有字段有所帮助。

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