#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);
}
}
я надеюсь, что это поможет вам