How to use typeof and switch cases in Javascript
I’m having problems finding out what’s wrong with the code below. I have consulted how to use typeof and switch cases, but I’m lost at this point. Thanks in advance for your advices.
// Write a function that uses switch statements on the
// type of value. If it is a string, return 'str'. If it
// is a number, return 'num'. If it is an object, return
// 'obj'. If it is anything else, return 'other'.
function detectType(value) {
switch (typeof value) {
case string:
return "str";
case number:
return "num";
default:
return "other";
}
}
————- Update ———————————–
Turns out the problem comes from my mistake (or rather oversight) of not following the instructions properly. Thanks again for your help and comments!
typeof
returns a string, so it should be
function detectType(value) {
switch (typeof value) {
case 'string':
return "str";
case 'number':
return "num";
default:
return "other";
}
}
This is the code that will work. I’m going through the codeacademy.com coures also. The issue was with typeOf having mixed casing. It’s case sensitive and should be all lowercase: typeof
function detectType(value) {
switch(typeof value){
case "string":
return "str";
case "number":
return "num";
case "object":
return "obj";
default:
return "other";
}
}
This is the code the will work for you:
function detectType(value) {
switch (typeof value) {
case "string":
return "str";
case "number":
return "num";
default:
return "other";
}
}
typeof
returns a string so you should encase your switch cases between single quotes.
function detectType(value) {
switch (typeof value) {
case 'string': // string should me 'string'
return "string";
case 'number':
return "number";
default:
return "other";
}
}
😉
The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .