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

That's a cool trick, though 'instanceof' won't work in this case.



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: