I discovered something strange when experimenting with JavaScript a few days ago, so I did some research and found my answers.
I'm writing this article in the hopes that some of you will find it useful or may learn something new.
I used to believe that computers were better at math than humans, until I tried adding 0.1 + 0.2 and got the result 0.30000000000000004 in my browser console.

Then I performed this comparison 0.1+0.2===0.3 and got the output false.

I initially believed it was a bug in JavaScript, so I attempted the same thing in Java and Python and had the same result in both.
After doing a lot of research, I concluded this is not an bug.
I found out this is math: floating-point arithmetic.
Let's go a little deeper to see what's going on behind the scenes.
Computers have a limited amount of memory and so they need to make a trade-of between range and precision.
Numbers in JavaScript should be stored within 64 bits, which means we can have integers accurate up to 15 digits and a maximum of 17 numbers after the decimal point. It is called a floating point because there is no fixed number of digits before or after the decimal point, allowing it to represent a wide range of numbers both big and small.
The problem is that computer use a Base-2 system i.e. binary while humans use a Base-10 system that leads to rounding errors when all the memory has been used up.
This is the reason behind getting 0.1 + 0.2 = 0.30000000000000004.

Discussion (2)
Back when my org still had Programming Summer Students/Interns, this usually came up every other year.
There's a site dedicated to inform people about this that you can find here:
0.30000000000000004.com
Cheers!