Ладно, так уж и быть. 1 лайк — NaN факт про JS.

favorite 119
message 38

NaN. NaN — не изобретение авторов JS, несмотря на многочисленные шутки в таком ключе. И существует, соответственно, не только в JS.

NaN. Несмотря на расшифровку «Not-a-Number», NaN — это число с плавающей точкой, описанное в стандарте IEEE 754.

NaN. NaN — это даже не одно число. Это много чисел. Все числа с плавающей точкой с показателем степени 11...1 и ненулевой мантиссой — NaN.

NaN. Заебись я про JS начал...

NaN. В JS есть метод isNaN(), который вернёт true для NaN. А ещё для строк, например. И вообще, на первый взгляд, он ебанутый.

NaN. К счастью, существует Number.isNaN(). Но так как он относительно новый, можно юзать полифилл: `(val) => val !== val`

NaN. На самом деле isNaN говорит о том, можно ли использовать переданное значение в математических операциях.

NaN. isNaN — «получу ли я NaN, если умножу это дерьмо на число, например».

NaN. Чуваки, привыкшие к строгой типизации, извиняйте. Вы всё ещё в ахуе, я знаю.

NaN. Я и в JS почти не встречаю NaN. Полагаю, у рубистов в среднем руки чуть выше растут. https://t.co/mlKynjXMxQ

NaN. Мне больше всего нравится, что люди пытаются сравнивать undefined с числом. https://t.co/u5g1VIn9Ii

NaN. К моему счастью, я вам ничего не обещал. Поэтому пока закончу. А продолжу ли завтра или когда-либо ещё — хер знает.

NaN. Большая часть примеров, «доказывающих», что JS — плохой язык, никогда не должна встретиться в более-менее нормальном коде.

NaN. Остальные примеры, скорее всего, справедливы для других языков. Например, для пуфона.

NaN. Ну в самом деле, зачем ты опять объект с массивом складываешь, а потом жалуешься? Может, ты тупой?

NaN. Данным ты либо доверяешь, либо проверяешь их. https://t.co/jGCx6MCXUi

NaN. Ненавижу работу с датами в JS. Есть подозрение, что в большинстве языков это боль. И что я просто мало с ними работал, откуда проблемы.

NaN. Темы про разработку (если только не ануса) и отдельные языки программирования заведомо тухлые в силу узкой целевой аудитории.

NaN. Побитовые операции в JS производятся над 32-разрядными целыми. Об этом вроде везде написано.

NaN. Поразрядные сдвиги производятся не на заданное значение, а на остаток от деления его на 32. Об этом почему-то предпочитают молчать.

NaN. Сдвиг на 32 разряда не изменяет число. Сдвиг на 33 равносилен сдвигу на 1.

NaN. JS — всепрощающий. Идея в том, чтобы продолжать работать до последнего, а не свалиться при первой возможности. https://t.co/URkbk4nj72

NaN. Да, он изначально так спроектирован. Да, нахлобучки про типизацию должны помогать.

NaN. В JS возможно использование GPGPU. Прямо в браузере можно использовать GPU для распараллеливания вычислений, да.

NaN. Если вкратце, создаётся canvas, юзается WebGL для изменения его. Значения элементов canvas'а используются как входные/выходные значения

NaN. Многие вещи я пишу по памяти, толком не проверяя. Поэтому могу напиздеть где-то.

Браузерные майнеры действительно есть. Но когда последний раз смотрел, они были на CPU. Только веб-воркеры. https://t.co/u5rTzmvehy

NaN. Это вообще планировалось как типичная шутка про NaN и JS. Но чот как-то вот.

NaN. Я где-то в середине сломал немножко тред этим твитом. Поэтому удалил и перепостил.

NaN. Скринов приложить не могу, но бекэнд прислал херню, и у меня тут 8 NaN на странице. Здравствуй, пятница.

NaN. Специфические. https://t.co/ztPx6mxLoe

NaN. Ну то есть те же самые задачи, что и не на фронте. Например, работа с IP-адресами.

NaN. Я как-то увидел, как чуваки работают с IP-адресами, как со строками. Это было страшно. И с кучей багов.

NaN. В итоге я накидал https://t.co/2WVBJ8S9XE. Но непосредственно вам оно может не подойти, так как пилилось для конкретных применений.

NaN. И да, там нет комментариев или документации. А, скорее всего, конкретно вам оно (либа) и не понадобится.

NaN. Я тут уже писал про браузерные майнеры. И вот, пошло в народ :: https://t.co/PQC68pf5xb :: https://t.co/jsSwAtsdCj

NaN. Эта штука была бы гораздо эффективнее при ограничении производительности. Сжирать CPU полностью слишком палевно.

>