[Function Declarations] and the Ternary Operator


#1

I want to know multiple ways to write the same code, just 'cause.
So in the lesson Function Declarations lesson in the Intro to functions in JS you typically end with this code:

function isGreaterThan (numberOne, numberTwo) {
  if (numberOne > numberTwo) {
    return true;
  } else {
    return false;
  }
}

console.log(isGreaterThan(2, 6));

…but I want to format it like so…

function isGreaterThan (numberOne, numberTwo) {
  numberOne > numberTwo ? return true : return false;
}

console.log(isGreaterThan(2, 6));

…and get an error…

Blockquote
/home/ccuser/workspace/learn-javascript-functions-functions-function-declaration/greaterThan.js:2
numberOne > numberTwo ? return true : return false;
^^^^^^
SyntaxError: Unexpected token return
at createScript (vm.js:53:10)
at Object.runInThisContext (vm.js:95:10)
at Module._compile (module.js:543:28)
at Object.Module._extensions…js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:427:7)
at startup (bootstrap_node.js:151:9)

What is it that I do wrong? :cry:


#2

The return cannot be inside the expression. The expression is what gets returned.

return condition ? true : false;

An expression always yields a value, in this case, a boolean


#3

I believe I did see that somewhere… Thank you for reminding me!


#4

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.