GG
Anonymous
вариант isFinite(n) && isFinite(parseFloat(n)) чем хуже !isNaN(parseFloat(n)) && isFinite(n)?
GG
isFinite и Number.isFinite по разному работают. Первую не надо использовать
Anonymous
GG
почему?
Там пример есть
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/isFinite
Anonymous
isFinite("0"); // true, но было бы false если использовать
// более надежный вариант Number.isFinite("0")
Anonymous
этот?
GG
Sergey
Sergey
Экономия на спичках, но да, меньше нагрузки)
Anonymous
Вот спасибо за тест
Anonymous
вообще такие проверки юзаются при работе с большими массивами, поэтому экономия на производительности может быть полезна
Anonymous
отличия глобальной isFinite от неглобальной только тем, что она приводит строку к числу
Anonymous
но мы то проверяем, что переменная является числом
Anonymous
Anonymous
вот глобальная, пожалуйста
Sergey
Anonymous
ладно
Anonymous
всё это костыли жаваскриптовские
Anonymous
всёравно задачу нужно выполнять конкретную и тестировать
Anonymous
плохо только, что такие простые вещи меняются. как я понял Number.isFinite теперь работает корректно, как нам надо, но для конкретно этой функции неправильно.
Anonymous
как по ES6 надо проверять, что переменная строка или примитив число является числом?
Костя
===?
GG
Костя
смотря что тебе нужно
Костя
если тебе нужно быть уверенным, что число и правда число, тогда ===
Костя
если я тебя правильно понял
GG
Anonymous
let n = 1; или let n = '1';
способами ES6 как будем проверять, что там действительно число?
Костя
Костя
GG
Костя
cvjnhсмотря что тебе нужно
Sergey
Sergey
Не представляю на сколько правильно. Но логика была вроде)
Anonymous
Anonymous
да я понял, просто хочу узнать как кодер ES6 напишет функцию из статьи Кантер isNumeric
Костя
ну так это другой разговор
GG
Anonymous
тогда "1" не пройдёт тест
Sergey
GG
Sergey
Anonymous
типа это строка и нужно сначала её привести к числу?
Anonymous
Просто 123 это не число. Это джаваскрипт, сынок.
Sergey
Sergey
А распарсить
Sergey
Ребят вы тему вообще не курите(
Anonymous
так
Anonymous
Тогда как проверить, что строка является числом?
Anonymous
это начальное условие в уроке Кантера
Sergey
Задача: проверить является ли переменная числом или строкой в которой записано число (приводимой к числу)
Sergey
Anonymous
Ты никогда не угадаешь что тебе выдаст жс. Это как первые свидания - не знаешь как себя вести с ней(ну то есть жс)
Sergey
Sergey
Anonymous
Кто-нибудь читал ecma стандарт?
Sergey
Anonymous
Anonymous
Я читал
Sergey
Я как мы выяснили теперь не используют глобальный isFinite поэтому мы хотим переписать функцию без него
Anonymous
Но ниче не помню кек
Anonymous
Есть таблицы приведения типов. Не надо тут
Да я только вчера чуствовал такую же боль чуть ниже спины. Потому что оно должно так работать, но не работает. Мне ответили "это жс, сынок". Выучил эту фразу - могу считаться почти сеньором.
Дима
Sergey
Костя
а почему бы не сделать parseInt(n) == n?
Костя
сморозил
Костя
+typeof
Anonymous
Прочитать стандарт isFinite и переписать ее
Дима
GG