JavaScript | Можно ли привести символ к цифре?

JavaScript | Можно ли привести символ к цифре?

Условие

Нам нужно проверить условие, является ли передаваемый символ строковым представлением цифры. Задача проста, потому что в десятичной системе счисления всего 10 цифр. Но мы не будем городить «ручных» проверок, а доверим решение вопроса самому JavaScript и его встроенному в язык функционалу.

У нас есть строки для теста:

var s1 = "A";
var s2 = "ф";
var s3 = "9";
var s4 = "0";

Мы хотим получать истину или ложь (true или false)

 

Решение

В решении этого вопроса нам поможет функциональное свойство Глобального Объекта JavaScript — isFinite ( number )

Логика работы простая. Мы передаём любой объект. На первом шаге isFinite() пытается привести этот объект к числу.

  • Если у неё получается привести к числу, тогда возвращается true.
  • Если не получается привести передаваемый объект к числу, тогда возвращается false. Тут проверяется условие — (If num is NaN+∞𝔽, or -∞𝔽, return false).

Пробуем проверить строку-символ на число-цифру:

isFinite(s1);
isFinite(s2);
isFinite(s3);
isFinite(s4);

Результаты:

isFinite(s1)
false

isFinite(s2)
false

isFinite(s3)
true

isFinite(s4)
true
Проверка возможности приведения символа к цифре - JavaScript
Проверка возможности приведения символа к цифре — JavaScript

Мы решили задачу и научились определять возможность приведения «строчного символа» к «числовой цифре».

 

Информационные ссылки

JavaScript | Строки (String)

Стандарт ECMAScript — Раздел «19.2.2 isFinite ( number )» — https://tc39.es/ecma262/#sec-isfinite-number