Проверка на число 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. Важно выбрать подходящий метод в зависимости от конкретной задачи.