Hacker News new | ask | show | jobs
by cygx 4289 days ago
Yup. The proper way to emulate new is

    Foo.call(Object.create(Foo.prototype))
1 comments

Douglas Crockford, is that you? Oh the lengths people will go to avoid using 'new'...

I wonder if any linters out there warn when they see something like:

  something = SomeCapitalizedFunction()
Because forgetting to use 'new' is really the only thing I could think of that makes this pattern dangerous.
Yes, jslint and jshint both do, by default, iirc. They'll also warn on the opposite (using 'new' with a function that doesn't start with an uppercase letter).
Ah that's fantastic, i've been using them for a while and never noticed.