📅  最后修改于: 2023-12-03 15:05:39.518000             🧑  作者: Mango
在 TypeScript 中,我们可以使用 private
关键字来声明私有成员,包括私有字段和私有方法。本文将介绍私有关键字和私有字段的区别以及如何在 TypeScript 中使用它们。
private
)私有关键字 private
用于限制类成员的访问范围。被声明为 private
的成员只能在声明它们的类中访问,而不能在类的外部或派生类中访问。它可以应用于类的属性、方法和构造函数。
以下是 private
关键字的一些特点:
下面是一个示例,演示了如何使用 private
关键字声明私有成员:
class MyClass {
private privateField: string;
private constructor(privateParameter: string) {
this.privateField = privateParameter;
}
private privateMethod() {
console.log('This is a private method');
}
public publicMethod() {
console.log('This is a public method');
this.privateMethod();
}
}
在上面的示例中,privateField
和 privateMethod
被声明为私有成员。它们只能在 MyClass
类的内部访问,无法从外部或派生类中访问。
私有字段是 TypeScript 3.8 引入的一项新特性,用于声明类的私有成员变量。与 private
关键字不同,私有字段可以在类的外部使用访问器方法来访问和修改。
以下是私有字段的一些特点:
#
符号作为前缀来声明。下面是一个示例,演示了如何使用私有字段:
class MyClass {
#privateField: string;
constructor(privateParameter: string) {
this.#privateField = privateParameter;
}
get privateField() {
return this.#privateField;
}
set privateField(value: string) {
this.#privateField = value;
}
publicMethod() {
console.log('This is a public method');
console.log('Private field:', this.#privateField);
}
}
在上面的示例中,#privateField
被声明为私有字段。可以使用 get
和 set
访问器方法来访问和修改私有字段的值。同时,publicMethod
方法可以直接访问和输出私有字段的值。
私有关键字 private
用于限制类成员的访问范围,只能在声明它们的类中访问。私有字段是 TypeScript 3.8 中新增的一项特性,允许在类的外部通过访问器方法来访问和修改私有成员变量。两者的区别在于访问的方式和范围不同。
通过使用私有关键字和私有字段,我们可以更好地控制类的封装性,提高代码的安全性和可维护性。