Numbers between DartVM run code and JS compiled code have different behavior[0].
There is a VM and command-line `throw_on_javascript_int_overflow` flag that can be used to throw an error if there is any such overflow in your app.
Ideally when BigNums lands in JS this will no longer be an issue.