- 1
Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+155
Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
Реализация typeof
По крайней мере null и [] для него это Null и Array, а не object и object.
Имя прототипа можно получить с помощю .constructor.name
Если классы наши, то уж лучше вручную им typeid'ы прописать.