The type name is not long and nested after all - in fact it is anonymous. Combining an unusual coding style with the quirk of Chrome Dev Tools makes it the same as him. This does not happen in Firefox.
On line 1532 of the dat.gui.js file, a prototype dat.GUI is created, which I created using new dat.GUI() , and dat.gui.GUI also assigned:
dat.GUI = dat.gui.GUI = (function ...
This feature is anonymous. When Chrome Dev Tools prints a view of an anonymous function that has been assigned to a variable, it pretends that the variable name is the name of the function for debugging convenience.
For some reason, which is discussed but not fully explained in this question , Chrome combines these function aliases in the case when you assign an anonymous function to several properties of an object

So why
dat.GUI = dat.gui.GUI = (function ...
prints
function dat.GUI.dat.gui.GUI()
in Chrome Dev tools.
source share