Ваша функция явно не работает должным образом, потому что вы используете switch
неправильным образом.
Прежде всего, вы переключаетесь, используя саму функцию в качестве выражения
switch (isGreaterThan) {
Затем вы сравниваете его с другим выражением
case numberOne > numberTwo:
Это эквивалент
if ( isGreaterThan == (numberOne > numberTwo))
И эта проверка никогда не будет верной, потому что isGreaterThan
даже нелогическое значение, но (numberOne > numberTwo)
равно
Таким образом, этот переключатель всегда будет возвращаться к оператору по умолчанию
default:
return false;
break;
. Поэтому эта функция всегда будет возвращать false
какКак уже упоминалось от других, ваша функция может работать в этой простой форме
function isGreaterThan (numberOne, numberTwo) {
return numberOne > numberTwo;
}
Теперь, если вам нужен совет, я действительно думаю, что вы не понимаете, как работает switch
, поэтому, пожалуйста, сделайте шаг назади изучите как это должно работать.В этом случае не было никакой причины использовать switch.
Кстати, троичный оператор (как упомянуто в заголовке) в вашем случае работал бы как
(numberOne > numberTwo) ? true : false