打字稿的私有成员

阅读时长 4 分钟读完

介绍

在前端开发中,打字稿(TypeScript)是一种流行的静态类型语言,它可以帮助开发者在开发过程中避免很多常见的编程错误。在 TypeScript 中,除了公共成员外,还支持私有成员,这些成员只能被其所属的类及其子类访问。本文将介绍 TypeScript 私有成员的相关知识并提供示例代码。

示例代码

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

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

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

在上面的示例代码中,我们定义了一个 Person 类,其中包含了一个私有属性 name 和一个公共属性 age。我们还定义了一个私有方法 getFullName(),它返回实例的完整名称。最后,我们在 Person 类中定义了一个公共方法 sayHello(),该方法调用 getFullName() 方法并输出欢迎消息。

在代码的最后,我们创建了一个 Person 类的实例,并尝试访问 name 属性。由于 name 是私有属性,所以 TypeScript 编译器会报错。然而,我们可以在类中调用 sayHello() 方法,并且它可以成功输出消息。

详解

私有成员是指只能在其所属的类内部访问的成员。在 TypeScript 中,我们可以通过在属性或方法前添加 private 关键字来将它们定义为私有成员。例如:

在上面的示例中,我们定义了一个名为 Example 的类,并使用 private 关键字将 somePropertysomeMethod 定义为私有成员。

与公共成员不同,私有成员不能被类的实例或类的外部访问。如果你尝试在类外部读取或写入私有成员,TypeScript 编译器会报错。例如:

由于 someProperty 是私有成员,所以我们不能从类的实例中访问它。同时,我们也不能在类外部写入 someProperty 的值。

私有成员不仅限于属性,还可以是方法。与属性一样,我们可以使用 private 关键字将方法定义为私有成员,并在类内部调用它们。例如:

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

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

在上面的示例中,我们定义了一个名为 Example 的类,并使用 private 关键字将 someMethod() 定义为私有方法。我们还定义了另一个名为 `

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

纠错
反馈