My view is to have undefined something only the runtime is allowed to set, while null is something I deliberately set.
This way you get a hint who messed up if the value is missing.
As long as we remember the difference, I think it's OK. Also, we have to be consistent in how we use them.
Some comments have been hidden by the post's author - find out more
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.