iifeJavaScriptIifeHardWhy does `function foo(){}();` fail as an IIFE, and how do you fix it?1The parser reads it as a declaration; wrap it in parentheses: (function foo(){})()2It needs the async keyword3It needs a return statement4It must use an arrow functionBack to list