EDIT : This question was marked as duplicate, which is quite unfair.I acknowledge that this question about the question mark answers a part of the question. But the following is still mysterious to me. Thanks a lot !
ORIGINAL QUESTION : I am trying to understand an external script (moment.js) which shows :
! function(a, b) {
    "object" == typeof exports && "undefined" != typeof module 
         ? module.exports = b() 
         : "function" == typeof define && define.amd 
             ? define(b) 
             : a.moment = b()
  }(this, function() {
      "use strict";
      [... folowing code goes here]
I understand the use of a immediately invoked scoping function like :
(function(){[ code here ]})();
And I guess it's about that. Can someone explain to me what is happening here?
