Explain the encapsulated anonymous function syntax
It doesn’t work because it is being parsed as a FunctionDeclaration, and the name identifier of function declarations is mandatory. When you surround it with parentheses it is evaluated as a FunctionExpression, and function expressions can be named or not. The grammar of a FunctionDeclaration looks like this: function Identifier ( FormalParameterListopt ) { FunctionBody … Read more