直接在 class 内部或在 class 的构造函数内部初始化变量(如 formGroup)有什么区别吗?

Is there any difference between initializing a variable (like formGroup) inside the class directly or inside the constructor of class?

我只是想知道在 class 内部或构造函数内部初始化 formGroup 有什么区别。

  1. 当我们像这样声明它们时创建它们:

    form: FormGroup = this.formBuilder.group({})
    
  2. 声明它的变量然后在class

    constructor中创建它们
    form: FormGroup;
    
    constructor(private formBuilder: FormBuilder) {
        this.form = this.formBuilder.group({})
    }
    

这两种方法有什么区别,这两种方法的优缺点是什么?

你展示的是相同的方法(内联初始化将被编译器移动到构造函数)。

虽然使用 FormBuilder 本身是一种缩写形式。

form: FormGroup = new FormGroup({
  c1: new FormControl('')
});

==

form: FormGroup = this.fb.group({
  c1: ['']
});