This JavaScript exception return (or yield) not in function occurs if a return/yield statement is written outside the body of the function.
Message:
SyntaxError: 'return' statement outside of function (Edge) SyntaxError: return not in function (Firefox) SyntaxError: yield not in function (Firefox)
Error Type:
SyntaxError
What happened?
Either the return or yield statement is called outside the body of the function or there might be a missing curly bracket in the code.
Example 1: In this example, there is a missing curly bracket after the ‘if’ statement, so the error has occurred.
Javascript
let GFG = function (val) { if (val === 'GFG') return 'Text1';};/* looks like function ends here, because ofmissing opening curly bracket after 'if' keyword*/if (val === 'Geek') { return 'Text2';}console.log(GFG()); |
Output(In console):
SyntaxError: 'return' statement outside of function
Example 2: In this example, the return statement is written after the function has ended, So the error has occurred.
Javascript
let GFG = function (val) { if (val === 'GFG') return 'Text1'; if (val === 'Geek') { return 'Text2'; }};return "Text3";// this is outside the function body.console.log(GFG('GFG')); |
Output(In console):
SyntaxError: 'return' statement outside of function
