Double tilde operator in JavaScript

There are 2 main ways to convert a string to a number.

Using Number()

The Number() way in JavaScript gets the job done fairly quickly. And if the string cannot be a valid number, it will return NaN.

Number("123.456"); // 123.456

Using parseInt()

Another method is using parseInt(). This returns the nearest rounded down integer.

parseInt("123.456"); // 123

The following method is the one that I recently came across. It was a rather interesting way to convert a string to a number.

Using Double tilde (~~)

~~"123.456"; // 123

This particular method ignores the decimal place and no rounding happens; just slightly different from the parseInt() method.