There\'s an old trick (that I learned on SO) to catch calling a constructor as a function, i.e. forgetting the new
keyword. The following, or something like, it goe
arguments.callee
itself is deprecated in favor of named function expressions. Although I don't necessarily agree with this move, it is how things have progressed. As such, replacing arguments.callee
with the function name is the only way in strict mode, and is also the preferred way in non-strict mode.