Actualmente intenté escribir un caso de cambio tomando en 3 variables
switch (user.nameInDB === userInputMobile, user.phoneInDB === userNumberInputMobile, user.emailInDB === userInputFrontend) { case ( true, _, _) : // Do something case ( _, true, _) : // Do something else case ( _, _, true) : // Do last thing default: break; }Me encontré con un error donde el "_" no está definido. ¿Algún consejo sobre cómo organizar esto?
Si solo está verificando una variable a la vez o tal vez incluso más, le recomiendo usar declaraciones If en su lugar, mejora la legibilidad del código y también tiene un mejor rendimiento que buscar múltiples variables que no es necesario verificar.
if (user.nameInDB === userInputMobile) { // do something } Sin embargo, si desea utilizar sentencias de cambio, puede simplemente pasar undefined , null o true/false dependiendo de su caso de uso.
Según el documento , la instrucción switch evalúa una expresión . Entonces, ¿qué estás tratando de lograr?
switch (expression1, expression2, expression3, ...)es el camino equivocado.
Si desea usar el switch para lo mismo, puede usar
const _ = false const expression = [true, false, false].join() switch(expression){ case [true, _, _].join(): // Do something case [_, true, _].join(): // Do something case [_, _, true].join(): // Do something default: // Do something }