Если вы хотите конвертировать только целые числа, то наиболее быстрым и коротким будет ~~ (две тильды).
В большинстве случаев результатом ~~ будет число, в отличие от других способов, которые чаще возвращают NaN.
Всего есть около пяти способов конвертировать строку в число. Некоторые из них будут иметь схожие результаты с ~~.
Давайте рассмотрим наглядный пример.
123 Number(x) = 123 parseInt(x, 10) = 123 parseFloat(x) = 123 +x = 123 ~~x = 123 undefined Number(x) = NaN parseInt(x, 10) = NaN parseFloat(x) = NaN +x = NaN ~~x = 0 "not a number" Number(x) = NaN parseInt(x, 10) = NaN parseFloat(x) = NaN +x = NaN ~~x = 0 123.45 Number(x) = 123.45 parseInt(x, 10) = 123 parseFloat(x) = 123.45 +x = 123.45 ~~x = 123 1234 error Number(x) = NaN parseInt(x, 10) = 1234 parseFloat(x) = 1234 +x = NaN ~~x = 0