It's stored as a single-precision float currently, but the API uses double and the specification's parsing rules accepts finite double-precision values. Although it makes little sense to actually use such big (or precise) numbers, it can be annoying to run into rounding differences between implementations if some use single-precision and others use double-precision.
Tests: https://github.com/w3c/web-platform-tests/pull/5062
Comment 1 by f...@opera.com
, Mar 7 2017