已声明但未使用的Typescript私有属性

时间:2017-09-11 09:47:19

标签: typescript

我在构造函数中声明了一个私有属性,并在构造函数中用于检索某个值。我得到了TS6138:声明了'属性'xxxx'但从未使用过。

constructor(private xxxx: Ixxxx) {
    this.abc = xxxx.get();
}

我正在升级到typescript 2.4.2。 如果我删除私​​有,那么错误就会消失。显然,该物业变得公开,我不想要。

1 个答案:

答案 0 :(得分:1)

警告是正确的,您引用的是构造函数参数,而不是属性。如果您想进入酒店,您必须:

constructor(private xxxx: Ixxxx) { // xxxx is constructor arg and private property
    this.abc = this.xxxx.get();
}

如果您不打算在班级中的任何其他地方使用该属性,您也可以删除private修饰符并改为使用构造函数参数:

constructor(xxxx: Ixxxx) { // xxxx is constructor arg
    this.abc = xxxx.get();
}

这样做不会导致xxxx成为public财产。只添加public关键字即可:

constructor(public xxxx: Ixxxx) { // xxxx is constructor arg and public property
    this.abc = this.xxxx.get();
}