Дима
Учитывая существование .includes
ixplo
ну это теперь... )
Kirill
Подскажите, кто-нибудь сталкивался со странным поведением SVGSVGElement (iOS) при попытке модифицировать HTML (либо innerHTML, либо insertAdjacentHTML) ? Похоже iOS не дает доступ к прямой модификации элемента...
Alexey
Alexey
Alexey
есть у меня такая разметка (рис. 1) и обработчик события (рис. 2). Однако при клике на чекбокс его стандратное поведение не отрабатывает, т.е. не меняется его состояние и не отрисовывается галочка. Что может быть не так?
Дима
Дима
вот это лол)
В плане вывода типов тс не фонтан, ты не знал?)
Дима
Дима
Дима
Довольно-таки убедительно звучит, и аргументы непробиваемые.
Дима
Дима
> if (value == null) return 0
Зачем это, если есть дефолт с 0?
Дима
(и я еще не говорю о странном подходе вообще)
Дима
Ну просто странно противопоставлять флоу и тс, упирая на НАДЕЖНОСТЬ
Дима
автовывод типов, ок, за счет другого подхода он, скажем так, отлавливает больше ошибок при отсутствии аннотаций
Дима
А теперь смотри и запоминай почему нужен флоу
Дима
Но не бывает проектов на флоу или тс без аннотаций
Дима
Я весь внимание.
Дима
Это maybe type будет
Дима
srsly?
Дима
Только что проверил
Дима
расскажи мне пожалуйста, typeof null - это string или number?
Дима
в какой из двух кейсов попадет, я вот всё голову ломаю
Дима
Тонкая ирония неуместна при неумении читать комментируемый код
Дима
Флоу форсит надёжное выведение типов, в том числе и то, что maybe тип можно кастовать в обычный после проверки, что объект не равен null
Дима
Собственно, неумение тс ловить и указывать на такие кейсы по дефолту и является одной из причин его ненадёжности
Дима
В плане вывода типов
Alexey
коллеги, стесняюсь помешать вашей глубоконаучной дискуссии, но может, вы натолкнете меня на верную мысль?
Дима
Ага, то есть бесполезный if (value == null) return 0 в начале функции - это костыль, чтобы обеспечить лучшее автоматическое выведение типов
Дима
Дима
Я тебе ещё раз повторяю
Дима
Твой дефолт не поможет если пришёл null
Дима
Абсолютный костыль) Прям 100%, потому что в этой функции он никак не влияет на её работоспособность.
Дима
Боже
Дима
Повторяю в третий раз, если в функцию приходит nullable, нужна проверка на null чтобы оставить только non-nullable значения
Дима
Я разве сложные вещи сейччас объясняю?
Дима
Спрашиваю еще раз, зачем, если это не несет никакой ни смысловой, ни функциональной нагрузки?
Дима
Отдельный кейс для nullable значений, не?
Дима
Не бывало такого?
Дима
Ты прикалываешься?
Дима
Я ж вроде тоже не очень сложные вещи спрашиваю
Дима
case default - -это non nullable объекты неподходящего типа
Дима
И?
Дима
Как ни странно, в этих случаях вполне может быть разная логика
Дима
В каких, в этих?
Дима
Есть конкретная функция, выполняющая конкретную задачу
Дима
если убрать из неё первую строку, она будет выполнять свою задачу ровно так же
Nikita
@ZeroBias А твой ник это жавовский эррор?
Дима
да
Дима
прям один в один
Nikita
Я вот сегодня
Nikita
Буквально 20 минут назад
Nikita
Заменял булеан на AtomicBoolean
Nikita
Потому что мне было лень думать
Nikita
Дима
прям один в один
Вот никогда бы не подумал, очень неожиданное заявление, твоя внимательность и смекалка покорила меня
Дима
И снова - крайне убедительно
Дима
А может попробуешь открыть консоль и просто запустить?
Дима
С и БЕЗ этой строки?
Дима
Дима
Слава богу
Дима
Ты дятел какой-то, извини за прямоту
Дима
А то я уже прям бояться начал
Дима
О, на личности перешли.
Дима
Обычно с флоу это происходит раньше.
Дима
Шутки 300
Дима
case default - -это non nullable объекты неподходящего типа
Дима
Как ни странно, в этих случаях вполне может быть разная логика
Дима
Таким образом, мы приходим к выводу, что строка не нужна в, условно, обычном жс.
Дима
Лол
KlonD90
го драку тупоскрипта против флоу уже замутим
Дима
Но она нужна во флоу, чтобы обрабатывать нуллабл типы
Дима
=== костыль
Дима
Лол
Дима
кек
Дима