TypeScript:如何处理类中 private 变量无法使用的问题?

阅读时长 3 分钟读完

在 TypeScript 中,许多开发者会使用 private 修饰符来限制类中的变量和方法只能在自身类中使用。但有时,我们需要在类的外部使用这些私有变量,这时候,TypeScript 提供了一个工具来解决这个问题。

使用 getter 和 setter 方法

在 TypeScript 中,我们可以使用 getter 和 setter 方法来实现对私有变量进行访问和修改。这些方法可以访问到私有变量,并通过这些方法来进行设置和获取。

以下是一个示例代码:

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

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

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

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

在这个例子中,我们在 Car 类中定义了一个私有变量 _name,然后通过 getset 方法对其进行操作。在外部,我们可以通过 myCar.name 来访问和修改私有变量 _name

使用访问修饰符

除了使用 getter 和 setter 方法外,我们还可以使用访问修饰符来解决这个问题。

访问修饰符用于控制类中属性和方法的访问权限。常见的访问修饰符有 publicprivateprotected。其中,public 表示该属性或方法可以在类的内部和外部访问,private 表示只能在类的内部访问,protected 表示只能在类的内部和派生类中访问。

以下是一个示例代码:

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

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

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

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

在这个例子中,我们将 _name 属性设置为私有,然后通过公共的 getName()setName() 方法来访问和修改该属性。在外部,我们可以通过 myCar.getName()myCar.setName("Tesla") 来操作私有变量 _name

总结

在 TypeScript 中,我们可以使用 getter 和 setter 方法或访问修饰符来解决类中私有变量无法使用的问题。两种方法都可以访问到私有变量,并通过方法来进行设置和获取。同时,我们也需要注意使用合适的访问修饰符来控制属性和方法的访问权限。

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

纠错
反馈