是否需要使用角度组件的构造函数初始化字段?很多角度教程都有:
counter: number;
constructor() {
this.counter = 1;
}
而不只是counter: number = 1
。
答案 0 :(得分:1)
两者都是正确的编程方式,
在构造函数中初始化
在构造函数中初始化是一种好习惯,它是声明+初始化的代码分离。
这将提高您的代码可读性,您将确保所有 仅在构造函数中初始化的值。并且因为在构造函数中是在创建对象时,并且是在变量应该初始化时。
在构造函数外部初始化
使用构造函数初始化的一个问题是,代码更多 写,当你有很多变量可以使用时,在这种情况下你 应该使用直接
counter: number = 1
,在这种情况下你可以检查 声明+单行初始化,但在上面的情况下你 必须经过2步声明+初始化
当您在生命周期钩子(例如NgOnInit
/ NgAfterViewInit
)与constructor
之一中选择初始化时,这非常重要。要么它只是一种编码风格