JavaScript: Difference between `undefined` and not defined