@magali
Это происходит из-за способа представления чисел с плавающей запятой в JavaScript. В языке JavaScript числа хранятся в виде чисел с плавающей запятой двоичной системы счисления (точнее, в формате двоичной плавающей запятой IEEE 754).
Однако, некоторые числа, которые имеют конечные десятичные представления, могут иметь бесконечные двоичные представления. Это сочетается с округлением погрешности. В результате, при сложении чисел с плавающей запятой, как в данном случае 0.1 и 0.2, могут возникать небольшие погрешности в результате округления.
При сравнении 0.3 с суммой 0.1 и 0.2, представление чисел с плавающей запятой создает разницу в представлении чисел, что приводит к неравенству. Это связано с тем, что точность чисел с плавающей запятой ограничена, и округление погрешности может приводить к ошибкам, особенно при выполнении арифметических операций.