Как сказать Typescript, что * в этом случае * тип возвращаемого значения функции никогда не бывает нулевым

Я пытаюсь получить машинопись strictNullChecks работая в проекте Angular 5.

У меня есть форма:

this.signinForm = this.fb.group({
  emailAddress: ['', NGValidators.isEmail()],
  password: ['', Validators.required],
  rememberMe: false,
});

Я могу получить rememberMe управление с помощью this.signinForm.get('rememberMe'), Возвращение FormGroup#get Метод, однако, является AbstractControl | null так что машинопись не нравится this.signinForm.get('rememberMe').value (потому что думает this.signinForm.get('rememberMe') может быть нулевым).

Можно ли сказать машинописи, что в этом случае возвращение this.signinForm.get('rememberMe') всегда AbstractControl и не AbstractControl | null?

2 ответа

Решение

Использовать ! оператор:

this.signinForm.get('rememberMe')!.value

Мы можем заставить тип в TypeScript обернув выражение as [type], В вашем случае это будет (this.signinForm.get('rememberMe') as AbstractControl).value,

Другие вопросы по тегам