От автора: приветствую вас, друзья. Мы продолжаем статьи по изучению JavaScript и в этой статье мы с вами продолжим более подробно говорить о числах в JavaScript. В частности, мы больше узнаем о том, как привести значение к числу.
В одной из предыдущих статей, в которой мы знакомились с операторами в JavaScript, мы с вами узнали один из способов приведения числовой строки к числовому типу данных. Для этого мы использовали унарный плюс:
1 2 3 4 |
var a = '2', b = '3'; a + b; // бинарный плюс, поскольку применяется к значению слева и справа +a + +b; // а здесь идут унарный, бинарный и вновь унарный плюс |
Пример выше в первом случае просто объединит числовые строки и мы получим не тот результат, который ожидали — строку 23. А вот во втором случае, используя унарный плюс, мы приводим обе числовые строки к числу и получаем нужный результат — число 5.
Однако на практике такой вариант не всегда нам подойдет. Ну например, мы работаем с картинкой на сайте и получили ее ширину и высоту в пикселях. Давайте попробуем сложить их, используя знакомое нам преобразование:
1 2 3 |
var width = '100px', height = '200px'; console.log(+width + +height); |
Но не тут то было. Если мы таким образом попытаемся привести строку к числу, то в результате получим знакомое нам NaN:
Использовать унарный плюс для преобразования строки, которая не является числовой строкой, не имеет смысла. Что же делать? Нам поможет функция parseInt(), которая преобразует строку в число до тех пор, пока это возможно. И сразу же примеры:
1 2 3 |
var width = '100px', height = '200px'; console.log(parseInt(width) + parseInt(height)); |
И результат:
И еще пара примеров:
1 2 3 4 5 6 |
var x = '100px', y = '200px', z = '123abc456'; console.log(parseInt(x)); // 100 console.log(parseInt(y)); // 200 console.log(parseInt(z)); // 123 |
Обратите внимание на третий пример. Как и отмечалось выше, функция parseInt() преобразует строку в число до тех пор, пока это возможно. Как только в строке встречается нечисловой символ — преобразование останавливается. В результате в третьем примере мы видим не все цифры в строке, а только те, которые стоят до первой буквы.
На этом мы давайте пока что остановимся. В следующей статье мы продолжим тему чисел в JavaScript. Если вы хотите больше узнать о JavaScript, тогда рекомендую обратить свое внимание на уроки по JavaScript и отдельный курс по языку JavaScript. Удачи!