I'm looking at some JavaScript code and I can't figure out why a logical operator (!) is being used in function declaration. This is a tiny extract:
   ! function (a) {
        ! function (a)
        {
            "use strict";
            a.Shorthand = {
                UI: {},
                helpers: {},
                Data: {}
            }
        }(window),  ...
}(!1);
I'm pretty sure its an IIFE (when complete) and it's main purpose is minification but that's as far as I go. I've not come across any explanation. When the rest of the code is there it all works. thanks
 
    