TypeScript里应该尽量用#代替private
在TypeScript中,private
关键字用于定义类的私有成员,这意味着只有在类的内部可以访问这些成员,而在类的外部则不可访问。使用#
作为私有成员的前缀并不是TypeScript的标准做法,实际上,TypeScript并不推荐使用#
来代替private
关键字。
在TypeScript中,私有成员的常规实现方式是使用private
关键字。例如:
class MyClass {
private myMember: string;
constructor(value: string) {
this.myMember = value;
}
public getMyMember(): string {
return this.myMember;
}
}
const instance = new MyClass('Hello');
console.log(instance.getMyMember()); // 正确
// console.log(instance.myMember); // 错误,不能从外部访问私有成员
在这个例子中,myMember
成员被定义为私有,外部代码不能直接访问它,只能通过公共的getMyMember
方法来访问。
如果你看到使用#
作为私有成员的前缀,这可能是一种特定的编码风格或者代码库的约定,而不是TypeScript语言本身的特性。在TypeScript中,这种做法不被推荐,因为它不符合TypeScript的约定俗和可读性。
总结一下,使用private
关键字是TypeScript定义私有成员的标准方式,使用#
作为私有成员的前缀是一种可能的编码实践,但不是TypeScript推荐的做法。
评论已关闭