【问题标题】:Using this keyword on constructor's parameters在构造函数参数中使用 this 关键字
【发布时间】:2018-04-26 03:49:27
【问题描述】:
name: string;

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

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

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

【问题讨论】:

  • this.value 不是undefined
  • @evolutionxbox 您的 jsbin 链接是 javascript,问题是询问打字稿。看到 private 关键字了吗?与众不同。
  • @Duncan 输入private 输出首先使用this.value = value 的JS。这似乎毫无意义。

标签: javascript typescript constructor tslint tsconfig


【解决方案1】:

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

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

name: string;

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-22
    相关资源
    最近更新 更多