You mean an infinite precision binary number, presumably. In decimal, the answer is 0.02 exactly, or 1/50 (because you're calculating 1/5 x 1/10). In binary that's slightly more than 0.00000001 (1/64), presumably an infinite precision binary, and when you try to store that in floating point, you effectively try to shift the decimal until the number becomes an integer; all of the digits are to the left, but with an infinite precision or simply too precise number that's simply not possible so it truncates it at its maximum resolution,
You could argue that this would be better if it used a decimal mantissa, so that it stored 2x10^-2 exactly, but in terms of the transistors and things inside a chip, when you have to divide by 10 it's relatively a killer. Dividing by 2 is simply a matter of shifting the bits one stop to the right and discarding the carry (also known as an ASR; an arithmetic shift right), which is easy to do in terms of transistors and traces. To divide by 10 (110 in binary) you're asking it to do long division every time, so it would be much slower. A slight loss of precision is usually considered preferable; in the javascript you're only out by something like 2.842170943040401e-14% (according to python's limited maths ability)