!function(){}() vs (function(){})()

I prefer !function(){}() vs (function(){})(), one char less.

And consider the following:
(function(){})()
(function(){})()

the above will throw an error! 

But this code has errors:
!function(){}()
!function(){}()