Проверка на число JS
В JavaScript существует несколько способов проверки, является ли значение числом. Рассмотрим некоторые из них.
- Метод
isNaN()
: - Оператор
typeof
: - Регулярные выражения:
- Функция
parseFloat()
:
Метод isNaN()
позволяет определить, является ли значение числом. Однако он имеет одну особенность — преобразует переданное значение в число перед проверкой. Это значит, что перед проверкой на число можно передать не только числовое значение, но и строку, которая по своей природе не является числом.
<pre>
<code class="javascript">
let value = 42;
console.log(isNaN(value)); // false
let str = "123";
console.log(isNaN(str)); // false
let notNumber = "abc";
console.log(isNaN(notNumber)); // true
</code>
</pre>
Оператор typeof
возвращает строку, отражающую тип операнда. При проверке числа он возвращает "number".
<pre>
<code class="javascript">
let value = 42;
console.log(typeof value === "number"); // true
let str = "123";
console.log(typeof str === "number"); // false
let notNumber = "abc";
console.log(typeof notNumber === "number"); // false
</code>
</pre>
С помощью регулярного выражения можно проверить, состоит ли строка только из цифр.
<pre>
<code class="javascript">
let str = "123";
console.log(/^\d+$/.test(str)); // true
let notNumber = "abc";
console.log(/^\d+$/.test(notNumber)); // false
</code>
</pre>
Функция parseFloat()
пытается преобразовать строку в число, если это возможно. Если строка содержит только цифры, она будет успешно преобразована в число. В случае, если строка содержит другие символы, возвращается NaN
.
<pre>
<code class="javascript">
let str = "123";
console.log(parseFloat(str)); // 123
let notNumber = "abc";
console.log(parseFloat(notNumber)); // NaN
</code>
</pre>
Это лишь некоторые из способов проверки на число в JavaScript. Важно выбрать подходящий метод в зависимости от конкретной задачи.