I recently saw some JS of the form:
function f(x) {{ return x + 1; }}
To my amazement, this is syntactically legal and works fine. At first I thought it was C-style anonymous scopes, but it does not introduce a new scope:
function f(x) {{ var y = x + 1; } return y;} // no error
Why does JS accept these superfluous brackets? How are they interpreted/what do they mean?