zag*_*ggi 15 typescript angular
我已经使用 Angular 工作了一段时间,但找不到关于以下方面的明确建议:
内联初始化成员变量 vs 在构造函数中
我有几次检查我的代码以在构造函数中移动简单类型(布尔值、数字等)的初始化,但仍然想知道这是更好的做法还是品味问题?对我来说,内联初始化会产生更本地化和简洁的代码,这就是我喜欢它的原因,但我对还是不对?
例子:
@Component({
selector: 'app-elem',
templateUrl: './app-elem.component.html',
styleUrls: ['./app-elem.component.scss'],
})
export class AppElemComponent {
public isHidden = true; // <-- initialization inline
public isVisible: boolean;
constructor() {
this.isVisible = true; // <-- vs initialization in the constructor
}
}
Run Code Online (Sandbox Code Playgroud)
这是个人风格偏好。
在构造函数中初始化属性允许您在初始化属性时利用构造函数参数。
内联初始化属性更简洁,并在与其声明的上下文中保持属性的默认值。
TypeScript 编译器只是在构造函数中引入内联初始化的值 https://www.typescriptlang.org/play/
基本上没有区别,只是方便而已。使用 constructor 初始化的唯一区别是您可以动态传递值然后分配给它。
constructor(visible) {
this.isVisible = visible; // <-- vs initialization in the constructor
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6194 次 |
| 最近记录: |