UPDATE: Question still unanswered. @Alastair_Pitts: Unless I’m missing something, it’s a two part question. The second part, “If so, why is this done?” and not been answered.
Believe the question is clear, but if you have any questions — just let me know. Thanks!
undefined = unknown and is a reference to system based on ternary logic.
Reference:
http://en.wikipedia.org/wiki/Ternary_logic
In many, if not most, languages values are either falsy, meaning that something doesn’t exist or lacks value, or truthy, meaning that something exists or has value. The list of falsy values is usually: (these evaluate to false)
Anything else is truthy and evaluates to true.
Edit: Made the answer a bit less biased towards JavaScript