2017-05-05 22 views
1

を角度4.1.1で有効にした後、nullのいくつかのエラーが発生しました。私はそれらのバンドルを固定しましたが、this.form.get('username').valueのために同じObject is possibly 'null'を修正することができません。同様に他の人も、同じことを試みましたが、エラーを修正できませんでした。TypeScript strictNullChecks - オブジェクトが 'null'である可能性があります

if (this.form.get('username') != null) { 
    body.append('username', this.form.get('username').value); 
} 

答えて

7

あなたが本当にここにキャストする必要はありません

this.form.get('username')!.value; // notice ! 
0

ようNon-null assertion operatorを使用してみてください。あなたは実際にする必要はありません。

それを行うには、最もコンパクトな方法:

const username = this.form.get('username'); 
if (username) body.append('username', username.value); 

またはEXIT-初期のスタイルで:

const username = this.form.get('username'); 
if (!username) return; 
# back to normal flow 
body.append('username', username.value); // no complaint, username cannot be falsy, then it must be { value: string } 

コンパイラはthis.form.get('username')nullチェックと時間の間で変化していないことを推測することはできませんあなたはそれに.valueを使用します。

変数はconstです。

関連する問題