javascript conditional evaluation
if ( expression )
Here are some expressions and their result
Undefined: false
Null: false
Boolean: the result equals the input argument (no conversion)
Number: false if the argument is +0, -0, or NaN; otherwise true
String: false if the argument is an empty string (length = 0);
otherwise true
Object: true