Numbers are crudely checked against the regex /-?\d+(\.\d+)/
(accounting for two regexes with identical meaning. This is very restrictive compared to most languages. Example of the full ES6 offering:
- Binary:
0b1010 === 10
- Octal:
0o17 ==== 13
- Hex:
0xf0 === 240
- Trailing dot:
42. === 42
This probably should be improved (and is on my TODO list if I can get time).