
Ҫѐҏӗѫӑ
13.06.2017
22:53:08
а говорили, что ангулярщики жс не знают
http://2ality.com/2013/10/typeof-null.html
новиночка^

Oleg ?
13.06.2017
22:53:41
А можно ссылку на спеку по нулу, я завтра в дороге почитаб, интересно)

Google

Сергей
13.06.2017
22:53:49

Daniel
13.06.2017
22:54:04
Там можно что хочешь написать
Это оператор

Сергей
13.06.2017
22:54:49
увы

Daniel
13.06.2017
22:55:02
А вы знаете, почему NaN не равен NaN?

Сергей
13.06.2017
22:55:05
я до сих пор не знаю, зачем он был добавлен в язык (void any)

Ҫѐҏӗѫӑ
13.06.2017
22:56:51
а про любой язык с ieee 774 или какой он там

Daniel
13.06.2017
22:57:33
Возможно
Но в спецификации жса было просто написано, что NaN не равен NaN
Вот и всё
Удивительно

Ҫѐҏӗѫӑ
13.06.2017
22:58:17
не уверен, что в спеке js это есть вообще

Google

Ҫѐҏӗѫӑ
13.06.2017
22:58:34
там наверняка ссылка на стандарт floating point
и все
не, написано
правда хз зачем
надо было тогда весь стандарт в спеку тащить)
ну и кагбе в js есть несколько способов сравнения

Vladimir
13.06.2017
23:00:56
не, про nan точно написано

Ҫѐҏӗѫӑ
13.06.2017
23:01:07
и в одном из них наны равны

Vladimir
13.06.2017
23:01:13
в ieee мне кажется nan может быть равен nan

Ҫѐҏӗѫӑ
13.06.2017
23:01:25
тогда бы NaN/NaN === 1
и пиздец

Vladimir
13.06.2017
23:01:49
это не связанные вещи
и никакого пиздеца нет
ну равен и равен

Сергей
13.06.2017
23:02:06
ну пиздец
а не язык

Mike
13.06.2017
23:02:28
то есть у тебя если 1/'a' - 1/'a' === 0 это ок?

Ҫѐҏӗѫӑ
13.06.2017
23:02:39

Vladimir
13.06.2017
23:02:49
да какая разница

Google

Ҫѐҏӗѫӑ
13.06.2017
23:02:50
NaN должен вирсно любые выражения захватывать

Mike
13.06.2017
23:03:05
то что если в любом выражении есть NaN должно получаться NaN

Default
13.06.2017
23:03:19
В моем уютном мирке жс в конечном счете придет к строгой типизации и подобные вопросы перестанут возникать
Вон интерфейсы уже предложили

Vladimir
13.06.2017
23:03:49
это не имеет отношения ни к js ни к типизации

Default
13.06.2017
23:04:00

Ҫѐҏӗѫӑ
13.06.2017
23:04:57
https://stackoverflow.com/questions/1565164/what-is-the-rationale-for-all-comparisons-returning-false-for-ieee754-nan-values
вот тут чел из ieee 754 вроде пишет что везде так

Default
13.06.2017
23:05:15
> 1/'a'
Вот такая срань должна кидать эксепшн, а не NaN
А подход «выдам хуйню, но выдам» ущербный по определению

Daniel
13.06.2017
23:06:43
Пиши на тайпскрипте

Ҫѐҏӗѫӑ
13.06.2017
23:06:59
в тайпскрите не строгая типизация

Default
13.06.2017
23:07:05
Он не дает проверку типов в рантайме

Default
13.06.2017
23:07:06
Увы

Ҫѐҏӗѫӑ
13.06.2017
23:07:06
точно так же
ну и в жс это вряд ли придет

Daniel
13.06.2017
23:07:59
В тайпскрипте проверка типов на этапе компиляции, более чем достаточно для вещей вида 1/'а'

Default
13.06.2017
23:08:01
А чем вам строгая динамическая типизация (опциональная, например) не угодила?

Vladimir
13.06.2017
23:08:02

Default
13.06.2017
23:09:11
Не особенно большой ущерб выйдет
Самое узкое место все равно DOM

Google

Default
13.06.2017
23:09:36
Если не заниматься числодроблением на JS

Daniel
13.06.2017
23:10:30
Да, в реальных приложениях гоняться за мелкими оптимизациями бесполезно, потому что дом все равно боттлнекает

Ҫѐҏӗѫӑ
13.06.2017
23:10:42
ясно

Daniel
13.06.2017
23:11:36
ввиду этого поощряют функциональный стиль, ведь он пытается избавить нас от багов
А в реальной производительности не потеряешь сильно

Default
13.06.2017
23:11:56
Эт ты еще не видел багов, которые встречаются в фп

Daniel
13.06.2017
23:12:15
Хз, наверное поэтому и не видел, потому что фп
Нарушаешь - получаешь баг

Admin
ERROR: S client not available

Daniel
13.06.2017
23:12:39
Хотя это логично в любой парадигме
Дааа

Ҫѐҏӗѫӑ
13.06.2017
23:18:00
есть подозрение, что в спеке жс про NaN и прочее написано т.к. надо определиться как писать (в смысле NaN/NAN/nan)
потому что в ieee 754 не написано как надо
и в разных языках по-разному
ну и заодно пара простых правил
про NaN еще потому что SameValueZero есть
и надо объясниться в любом случае

A
13.06.2017
23:24:33
1/0 = Infinity
-1/0 = -Infinity
0/0 = NaN
0/0 === 0/0
false
Object.is(0/0, 0/0)
true
1/0 === 2/0
true
Object.is(1/0, 2/0)
true

Denis
14.06.2017
01:15:55
Оп! ? https://facebook.github.io/react/blog/2017/06/13/react-v15.6.0.html

Ҫѐҏӗѫӑ
14.06.2017
01:27:56

Google

Ҫѐҏӗѫӑ
14.06.2017
01:28:15
ченжлог скудный

Niki4
14.06.2017
02:23:23

[Anonymous]
14.06.2017
03:54:48

? ethorz
14.06.2017
06:22:28
как можно написать регулярку
если надо
split по разделителю ,

Сергей
14.06.2017
06:22:54

? ethorz
14.06.2017
06:22:57
например, могут быть так , или так,но разделить
да, я знаю
но там пробел с запятой могут быть по разному записаны

Сергей
14.06.2017
06:23:41
map + trim

? ethorz
14.06.2017
06:23:41
то пробел перед, то без пробела, то с пробелом с двух сторон и т.д.
регуляркой это возможно сделать?

Сергей
14.06.2017
06:24:18
string.split(',').map(e => e.trim())

? ethorz
14.06.2017
06:24:54
ну, быстрее чем map будет

Сергей
14.06.2017
06:24:59
Нет
Регулярки это самое медленное что есть в языке

Konstantin
14.06.2017
06:25:21
Ну сделай replace регулярной