TypeScript strictNullChecks - 对象可能是' null'

时间:2017-05-05 09:10:21

标签: angular typescript2.0

使用Angular 4.1.1启用strictNullChecks后,会为null检查获取多个错误。我修复了它们的捆绑但无法为Object is possibly 'null'修复相同的this.form.get('username').value。与其他人一样,我尝试了同样但无法修复错误。

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

2 个答案:

答案 0 :(得分:12)

尝试使用Non-null assertion operator之类的

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

答案 1 :(得分:2)

你真的不需要在这里施放。你实际上从来没有。

最简洁的方法:

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

或退出早期风格:

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变量,它可以。