Tengo un pequeño problema. Tengo una variable de parámetro que puede ser un tipo como indefinido o un número. Sin embargo, cuando intento buscar un número, no funciona. ¿Por qué?
let parameters = 2 // returns number console.log(typeof parameters) // returns 2 console.log(parameters) switch (parameters) { case undefined: res.send(users).status(200); break; case "download": // creates file for all users handler.createAndSendFile("users", "csv", users, res); break; case parameters === 'number': console.log("Number getById 1"); break; case (typeof parameters === 'number'): console.log("Number getById 2"); break; case (parameters instanceof Number): console.log("Number getById 3"); break; case (!isNaN(parameters)): console.log("Number getById 4"); break; case parameters > 0: console.log("Number getById 4"); break; default: console.log("default") }Está comparando parameters con valores de otros casos, en los siguientes casos:
Si desea evaluar una operación, puede hacer lo siguiente:
let parameters = 2; switch (true) { case !parameters: res.send(users).status(200); break; case parameters === "download": handler.createAndSendFile("users", "csv", users, res); break; case typeof parameters === 'number': console.log("Number getById 2"); break; }