Я бы хотел иметь возможность пропустить проверку переменной, если свойство (.emailAddress) может быть неопределенным, но продолжить проверку остальных.
Например, я проверяю введенный адрес электронной почты, если это существующий контакт (адрес электронной почты) на странице.
if(inputEmail.length > 0 && inputEmail.indexOf('@') > 0 */ check that the input is not blank & is probably an email address.
&& inputEmail !== existingContact1.emailAddress
&& inputEmail !== existingContact2.emailAddress
&& inputEmail !== existingContact3.emailAddress
&& inputEmail !== existingContact3.emailAddress
) {
// execute code
}
Моя проблема возникает, если .emailAddress не определен, так как вы не можете проверить undefined в операторе If. .emailAddress может быть любой комбинацией существующего контакта 1-4, который может быть неопределенным или нет.
- не может проверить, следует ли читать, не может сравнивать неопределенное.
Я пытался использовать typeof, чтобы найти, не объявлен ли он, а не результаты, которые я ожидал.
&& typeof existingContact1 == "undefined" || typeof existingContact1.emailAddress == "undefined" && existingContact1.emailAddress !== inputEmail
Какие существуют разные подходы, позволяющие предотвратить и пропустить, если .emailAddress может быть неопределенным?