Reputation: 337
I have a small problem. I have a parameter variable that can be either a type like undefined or a number. However when i try to check for a number it won't work. Why?
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")
}
Upvotes: 0
Views: 102
Reputation: 348
You are comparing parameters
with other cases values, in the following cases:
If you want to evaluate a operation, you can do like:
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;
}
Upvotes: 2