Type Coercion
Jump to navigation
Jump to search
WIP
Known type coercion rules:
null * 3 == #@!$— Any statement that begins with `null` is a compiler error, but this may change in the future.
(null) is okay though.
3 * null == 0— Multiplying by null yields0.
3 / null == Infinity— In division, null acts a lot like0.
3 + "3" == "33"— If an expression contains a string, the entire expression will be coerced into a string.
"3" * 5 == "33333"— Multiplying a string by a number will replicate the string.
"1234" / 2 == "12"— Dividing a string by a number will divide the length, then take a substring.
1/0 == "INF" | "Infinity"— All numerical math is done according to standard IEEE floating-point rules, including well-defined behavior for Inf and NaN. However, conversion of Inf and NaN to a string is undefined (implementation-dependent).