2017-11-13 7 views
0
name: string; 

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

これらのオプションのどれが良いですか。なぜ私はvaluethis接頭辞を使用するオプションがありますか?コンストラクタのパラメータにthisキーワードを使用することは有効ですか?このキーワードをコンストラクタのパラメータに使用する

私はtsconfigとtslintにnoUnusedParameters,noUnusedLocalsを使用して、私のプログラムに未使用の変数がないことを確認しました。残念なことに、tslintはコンストラクタのパラメータを報告しています(その前にthisがない場合は、未使用とマークされています)。

+0

'this.value'は' undefined'ですか? – evolutionxbox

+0

本当ですか? http://jsbin.com/natamanuta/edit?js,console – evolutionxbox

+0

@evolutionxboxあなたのjsbinリンクはjavascriptですが、質問はtypescriptについて質問しています。 'private'キーワードを参照してください。すべての違いを生み出します。 – Duncan

答えて

1

this.valueは、修飾子をprivate value: stringとしてコンストラクタで宣言したときに割り当てるため、this.valueを使用できます。

他の機能でvalueを使用するつもりがない場合は、それを与えたり修飾子にアクセスしたりすることなく、単に注入する方がよいでしょう。

name: string; 

constructor(value: string) { 
    this.name = value; 
} 
関連する問題