Because of Floating point arithmetic in Javascript, i understand 0.2 + 0.1 = 0.30000000000000004 will be in Javascript, but i don't understand why only multiply the figures by 10 i.e. let x = (0.2 * 10 + 0.1 * 10) / 10;, then the problem can be solved. Should be multiply by 10**10, right?
let y = (0.2 * 10 + 0.1 * 10) / 10;
document.getElementById("abc").innerHTML = "0.2 + 0.1 = " + y;
<!DOCTYPE html>
<html>
<body>
<p id="abc"></p>
</body>
</html>
When you multply by 10 the extra bits get rounded off, and this luckily ends up producing integers. But it's not always guaranteed, it just happens to work for these two numbers.
The proper solution is to use explicit rounding after multiplying by 10.