O'Reilly logo
  • Ahmed Elgendy thinks this is interesting:

Danger Zone

image with no caption

There’s one aspect of constructors you need to be very careful about: don’t forget to use the new keyword. It’s easy to do because a constructor is, after all, a function, and you can call it without new. But if you forget new on a constructor it can...

From

Cover of Head First JavaScript Programming

Note

What does "undefined" mean?
It means that what are you are calling for is not defined anywhere in the scope which you are checking for what you are looking for.