Я думаю, что этот тип побеждает точку в выражении switch
, имеющем условия в выражениях case
.Он предназначен для тестирования нескольких выходов при одном входе.
Возможно, если JavaScript поддерживал несколько входов (или деструктурирование массивов) в switch..case
, я мог видеть что-то вроде этого:
switch (numRegex.test(phoneVal), alphaRegex.test(usernameVal)) {
case false, false:
console.log('Neither are valid.');
break;
case true, false:
console.log('Invalid username.');
break;
/* snip */
default:
console.log('All\'s good.');
}
Но, увы, я бы сказал, что придерживаться if..else
лучше и проще понять / понять, в данном случае:
if (numRegex.test(phoneVal)) {
console.log('Only digits please.');
return false;
} else if (alphaRegex.test(usernameVal)) {
console.log('Only alpha-numeric please.');
return false;
} else {
console.log('It\'s all good.');
return true;
}