To be fair there were a couple of disasters, such as [object Array] and undefined.
Feels like the world is hanging on a single thread by now.
Protip: never even mention undefined in your codebase. Erase it from your vernacular. If you ever need to pass or return nothing, you use null.
You probably meant [object Object] :) Since arrays have their own default toString implementation (its own can of worms that is the basis for JSFuck[0]), you'd have to go out of your way with Object.prototype.toString.call to get [object Array]
[0]: https://jsfuck.com/ relies on Array#toString for casting values to strings