在构造函数的参数上使用 this 关键字

Using this keyword on constructor's parameters

name: string;

constructor(private value: string) {
  this.name = value;
  // or 
  this.name = this.value;
}

这些选项中哪个更好。为什么我可以选择在 value 上使用 this 前缀?在构造函数的参数上使用 this 关键字是否有效?

我在 tsconfig 和 tslint 中使用了 noUnusedParametersnoUnusedLocals 来确保我的程序中没有未使用的变量。不幸的是,如果构造函数的参数前面没有 this,则 tslint 会报告它们(将它们标记为未使用,这很奇怪)。

您可以使用 this.value,因为当您在构造函数中使用访问修饰符 private value: string 声明它时,您正在分配它。

如果你不打算在其他函数中使用value,最好直接注入,不要给它和访问修饰符。

name: string;

constructor(value: string) {
  this.name = value;
}