Проверка на неопределенный сбой в Angular 7

#angular

#angular

Вопрос:

Я пытаюсь выполнить неопределенную проверку числовой переменной в Angular 7. Хотя значение не определено, оно не удовлетворяет условию. Не могли бы вы сказать мне, где я иду не так.

 public init(val: string, selectedClassficationId: number) {
        this.Mode = val;
        if (selectedClassficationId !== undefined) {
        this.getClassificationDetails(selectedClassficationId);
        }
    }
  

Комментарии:

1. Если selectedClassficationId !== undefined присваивается значение true , то selectedClassficationId не может быть undefined. You should probably use a truthy evaluation instead on that value. if (selectedClassficationId) { }`

2. @Tom добавил условие для 0 также!

Ответ №1:

Почему бы вам не попробовать это?

Блок if не будет выполнен, если значение для selectedClassficationId равно undefined , null false , 0 ,,,,,,,,,,.

 if (selectedClassficationId || selectedClassficationId == 0) {
  this.getClassificationDetails(selectedClassficationId);
}
else {
  console.log('The value is either undefined, null, false, 0', selectedClassficationId);
}
  

Here подробный пример для каждого варианта использования:

Комментарии:

1. Кроме того, 0 . Что может быть проблемой для numbers.

2. @mbojko да, добавлено!

Ответ №2:

вы можете попробовать вот так

 public init(val: string, selectedClassficationId: number) {
        this.Mode = val;
        if (selectedClassficationId != null) { // != null is check null as well as undefine at the same time 
        this.getClassificationDetails(selectedClassficationId);
        }
    }

  

я надеюсь, что это поможет вам