<分区>
我有一个类(class)邮箱
class Email {
private _from: string;
private _to: Array<string>;
private _subject: string;
}
它将创建一个类似于以下内容的电子邮件对象:
{
_from:'',
_to:'',
_subject:''
}
这对我来说似乎有点奇怪,因为我不能直接使用此对象发送给函数。相反,我必须转换对象,使其没有下划线。那么我该如何使用下划线约定或者我是否必须转换对象。
编辑:如果我确实删除了“_”
如果我们命名不带下划线的私有(private)变量,如何命名 getter 和 setter?一个名为 Typescript toolbox 的 VSCode 插件创建它们是这样的
public get $subject(): string {
return this.subject;
}
$ 是一个好的约定吗?
那些说不能使用“_”的人,对于他们来说,这里有一些代码来自 TypeScript site :
class Employee {
private _fullName: string;
get fullName(): string {
return this._fullName;
}
this._fullName = ......
}
关于 Stackoverflow 的相同问题,你应该看看它,尤其是答案。
暂时接受的话,我们应该不用_,那还有什么更好的办法呢?
让我们以您的电子邮件为例,如果我们不使用 _ 那么,我们将像这样:
member: to, get/set: emailTo
member: from get/set: emailFrom
也许你可以想一些更好的名字,但每次你都需要考虑,这在开发者世界中并不常见!
对属性使用 _ 和相同的名称很容易检查代码,否则我们将继续将哪个属性映射到哪个成员。
但是如果您被公司的领导强制,那么您可以在没有它的情况下使用$
作为成员和属性(property);不是规则,而是简单的方法:
class Employee {
private fullName$: string;
get fullName(): string {
return this.fullName$;
}
this.fullName$ = ......
}
选择权在你手中!!!