我有一个班级电子邮件
class Email {
private _from: string;
private _to: Array<string>;
private _subject: string;
}
它会创建一个类似于:
的电子邮件对象{
_from:'',
_to:'',
_subject:''
}
这对我来说似乎有点奇怪,因为我无法直接使用此对象发送到函数。相反,我必须转换对象,使其没有下划线。那么我如何使用下划线约定或者我必须转换对象。
编辑:如果我放弃了&#39; _&#39;
如果我们将私有变量命名为不带下划线,如何命名getter和setter?一个名为Typescript工具箱的VSCode插件会创建类似这样的
public get $subject(): string {
return this.subject;
}
$是一个很好的约定吗?
答案 0 :(得分:8)
说的人一定不要使用“ _”,对于他们来说,这是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
也许您可以想到一个更好的名字,但是每次您需要考虑时,这在开发人员世界中并不常见!
为属性使用_和相同的名称很容易检查代码,否则我们将继续将哪个属性映射到哪个成员。
但是::如果您被公司的潜在客户强迫,则可以使用$
作为成员和财产,而不必使用它;不是规则而是简单的方法:
class Employee {
private fullName$: string;
get fullName(): string {
return this.fullName$;
}
this.fullName$ = ......
}
选择由您决定!
答案 1 :(得分:5)
只需根据需要命名您的私人变量,但不要使用_
。您可以创建自己的标准并坚持下去。
Setter和getter与任何其他函数一样,因此您可以按照方法命名约定来命名。
请勿使用&#34; _&#34;作为私人财产的前缀。
尽可能在名称中使用整个单词。
答案 2 :(得分:4)