5.6.16.3 Boolean Expressions
-
boolean-expression = expression
Static Semantics. A <boolean-expression> is invalid if a Let coercion from the declared type of <expression> to Boolean is invalid. The declared type of a <boolean-expression> is Boolean.
Runtime Semantics.
§ If <expression> does not have the data value Null, <expression> is Let-coerced to Boolean, and the value of <expression> is this coerced value.
§ Otherwise, if <expression> has the data value Null, the value of <expression> is False.