Strict mode alternatives to this instanceof arguments.callee

Viewed 2285

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 goes in each constructor at the top.

if (!(this instanceof arguments.callee)) {
    throw Error("Constructor called as a function");
}

What are the alternatives when you need to "use strict"; ?

Can its generic nature be retained? Or do we have to use the name of the constructor in place of arguments.callee?

1 Answers
Related