2017-09-11 24 views
1

私はコンストラクタで宣言されたプライベートプロパティを持ち、コンストラクタで値を取得するためにも使用されています。 TS6138:PROPERTY 'xxxx'は宣言されていますが使用されていません。Typescriptのプライベートプロパティが宣言されていますが使用されていません

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

私はtypescript 2.4.2にアップグレードしています。 プライベートを削除すると、エラーは消えます。明らかに、私が欲しくない財産が公開されます。

+2

変更を:のみpublicキーワードを追加すると、それを行いますプライベートなら、なぜあなたはメンバーとしてそれを必要としますか? –

+0

あなたはそれがちょうどコンストラクター・パラメターかもしれません。 – tangokhi

答えて

1

警告は正しく、プロパティではなくコンストラクタ引数を参照しています。あなたのクラスでどこか他のプロパティを使用して計画していない場合、あなたにもprivate修飾子を削除して、コンストラクタの引数を使用する場合があります

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

:あなたはプロパティにアクセスしたい場合は、必要があるだろう代わりにこれを行う

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

public財産になってきてxxxxにはなりません。あなたが実際にクラスの残りの部分でそれを使用していない場合も、 `、それはです。this.abc = this.xxxx.get()`へ

constructor(public xxxx: Ixxxx) { // xxxx is constructor arg and public property 
    this.abc = this.xxxx.get(); 
} 
関連する問題