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

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

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

9 ответов

21 просмотр

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 сценария) И я ни разу не написал: так никогда не пишите, всегда была указка на условия или что "это был осознанный выбор"

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта