角度字段初始化与构造函数初始化?

时间:2018-02-19 05:33:13

标签: javascript angular constructor lifecycle

是否需要使用角度组件的构造函数初始化字段?很多角度教程都有:

counter: number;

constructor() {
    this.counter = 1;
}

而不只是counter: number = 1

1 个答案:

答案 0 :(得分:1)

两者都是正确的编程方式,

在构造函数中初始化

  

在构造函数中初始化是一种好习惯,它是声明+初始化的代码分离。

     

这将提高您的代码可读性,您将确保所有   仅在构造函数中初始化的值。并且因为在构造函数中是在创建对象时,并且是在变量应该初始化时。

在构造函数外部初始化

  

使用构造函数初始化的一个问题是,代码更多   写,当你有很多变量可以使用时,在这种情况下你   应该使用直接counter: number = 1,在这种情况下你可以检查   声明+单行初始化,但在上面的情况下你   必须经过2步声明+初始化

当您在生命周期钩子(例如NgOnInit / NgAfterViewInit)与constructor之一中选择初始化时,这非常重要。要么它只是一种编码风格