title: Strict mode alternatives to this instanceof arguments.callee
body: <p>There's an old trick (<a href="https://stackoverflow.com/questions/383402/">that I learned on SO</a>) to catch calling a constructor as a function, i.e. forgetting the <code>new</code> keyword. The following, or something like, it goes in each constructor at the top.</p>
  
  <pre><code>if (!(this instanceof arguments.callee)) {
      throw Error("Constructor called as a function");
  }
  </code></pre>
  
  <p>What are the alternatives when you need to <code>"use strict";</code> ?</p>
  
  <p>Can its generic nature be retained? Or do we have to use the name of the constructor in place of <code>arguments.callee</code>?</p>