On this topic I disagree with DC
function(){}() // Syntax error.
( function(){}() ) // Astonishment! Why did the syntax error go away?
( function(){} )() // Of course, the parentheses make it clear what goes together.
I don’t even want the book. I just came to make a point.