Nemrégiben több helyen is visszaköszönt, hogy időbélyeget a következő formában adták meg: +new Date
Hirtelen meglepődtem, hogy ez miért nem szintaktikai hibás, de valóban nincs benne semmi rendellenes. Ha létrehozunk egy objektumot, akkor a típus után elhagyható a zárójel, ha az üres lenne, azaz a new Date kifejezés ekvivalens a new Date() kifejezéssel.
Igaz, ez a forma JSLint-nek sem annyira tetszik: Missing '()' invoking a constructor.
Továbbá jelen esetben a ’+’ jel az egy egyoperandusú (unáris) művelet, amelynek az eredménye a hozzá tartozó érték számmá konvertált alakja. +"100" === 100
T.prototype.valueOf = function () {
return 100;
};
+new T; // 100