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

时间:2017-11-13 12:49:06

标签: javascript typescript constructor tslint tsconfig

name: string;

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

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

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

1 个答案:

答案 0 :(得分:2)

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

如果您不打算在其他函数中使用value,最好只注入它,而不提供它和访问修饰符。

name: string;

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