Hacker News new | past | comments | ask | show | jobs | submit login

Yup. The proper way to emulate new is

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



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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: