问题:在Typescript中命名私有属性的最佳做法是什么?一个规则是否应该为该属性创建“获取和设置”?
阅读以下链接让我暂停了我认为编码Typescript的好习惯:https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines
我理解他的编码指南的限定符,这不是一个规定性的指导原则,但是,他关于命名私有属性的约定在我的脑海中提出了关于在Typescript中正确封装和使用私有属性的问题。我一直遵循的约定是使用下划线的前缀命名私有属性,然后创建一个get和set,用于分配或从该属性获取值。回到安德斯的德尔菲日,约会使它成为一个财产,而不仅仅是另一个变量。该属性赋予其允许工具的特征。
示例:
…
private _progress: IImportInfo[];
…
get progress(): IImportInfo[] {
return this._progress;
}
set progress(value: IImportInfo[]) {
this._progress = value;
}
…
因此,从html文件中,您将从属性中获取值:
<li *ngFor="let item of progress">
但是,你可以这样访问它:
<li *ngFor="let item of _progress">
因此允许从外部访问私有变量。通常使用私有变量获得的封装性质不存在,但是,遵循封装规则(IMO)有一些价值。但是,提出这个问题的目的不是“我的意见”。我想知道更多经验角度/打字稿开发人员认为是处理Typescript私有属性的最佳实践。更好的是链接到一个网站(具有可信度)的“最佳实践”来处理私有财产。
提前感谢您对此问题的任何帮助。
答案 0 :(得分:1)
找到我想要的答案:
https://angular.io/guide/styleguide
属性和方法 风格03-04 使用较低的驼峰案例来命名属性和方法。
避免使用下划线为私有属性和方法添加前缀。
为什么呢?遵循传统的属性和方法思想。
为什么呢? JavaScript缺乏真正的私有属性或方法。
为什么呢? TypeScript工具可以轻松识别私有与公共属性和方法。