169 похожих чатов

А любителей document.querySelector(selector)?.click() // or document.querySelector(selector)?.addEventListener(...) ждет отдельный котел, так как это худшее что

можно придумать - сделать вид, что это ок, что не оказалось эл-та сделать "проверку" и вызвать функцию
а потом бегай по коду и ищи почему логика перестала работать, а это какой-то гений "обработку" (читай затычку) сделал

9 ответов

7 просмотров

optional chaining как раз и есть та самая проверка

Denis-Chernov Автор вопроса
Mikhail Chukhnin
optional chaining как раз и есть та самая проверка

так и тут я сказал, что сделать "проверку", хотя по факту это просто избегания вылета исключения, там где он и должен был появиться, так как нарушена, какая-то логика, либо это и задуманное поведение, но его лучше как-то оформить. Но в 90% случаев я видел что люди втыкают optional chaining чтоб заткнуть TSи сделать вид "обработки"

Denis Chernov
так и тут я сказал, что сделать "проверку", хотя п...

По этой логике if это тоже "избегание" Optional chaining из js, если что

Mikhail Chukhnin
По этой логике if это тоже "избегание" Optional ch...

Все программирование это "избегание" ошибок🙂

Denis-Chernov Автор вопроса
Mikhail Chukhnin
По этой логике if это тоже "избегание" Optional ch...

вот тут вообще непонятно к чему это. Затыкают TS то что он им тычет мол тут возможно null, а ты отмахиваешься чейнингом. Да и вообще этот оператор слишком часто юзают там где он не должен быть. Оператор реально крутой и полезный, но он не виноват, что им "забивают" гвозди. Просто, иногда людям надо думать, а точно ли "ничего не сделать", это то что я хочу сделать в данном случае, а не указать явно на последствие отсутствия эл-та (или какого-то поля) Игнорирование проблемы != ее решение Только если это не осознанно запланированное поведение

Denis Chernov
вот тут вообще непонятно к чему это. Затыкают TS ...

Можете рассказать в чем отличие в следующих случаях по вашему мнению? handle?.method() if (handle) { handle.method() }

Denis-Chernov Автор вопроса
Mikhail Chukhnin
Можете рассказать в чем отличие в следующих случая...

1ый вариант вполне жизнеспособен, если так и задумано, но представь, что handle точно должен был бы быть. и тогда вторым вариантом должен быть скорее if (!handle) { throw new Error('no required handle') } handle.method() думаю так разница чуть нагляднее

Denis Chernov
1ый вариант вполне жизнеспособен, если так и задум...

тогда пропадает смысл всего, что было написано вами выше, делай хорошо не делай плохо, используй когда нужно и не используй когда не нужно

Denis-Chernov Автор вопроса
yanovich
тогда пропадает смысл всего, что было написано вам...

скорее: думай когда что нужно использховать) речь шла именно о осознанном выборе варианта (именно поэтому я расписывал 3 сценария) И я ни разу не написал: так никогда не пишите, всегда была указка на условия или что "это был осознанный выбор"

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Кто-нибудь знает, как считается нагрузка на цпу? И что такое вообще "нагрузка на цпу"? вот, например, есть у цпу какой-то clock, настроенный на 3 ГГц --- Что значит "нагрузка...
Toideng
15
Можно ли написать свою библиотеку "socket" на каком либо языке ассемблера с нуля не используя сишние библиотеки ? Или это самоубийство ?
123🪐
15
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
{!! $modx->runSnippet( 'multiTV',[ 'tvName'=>'slider-main1', 'docid'=>'[*id*]', 'tplConfig'=>'', 'display'=>'4', 'offset'=>'0', 'rows'=>'all', 'ra...
Роман С
4
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Карта сайта