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

Я уже аргументировал: ? — это safety оператор. если там что-то

есть, — оно считается и вызовется. если нет — не вызовется
! — это ты прямо указал: бля, слушай, я вот не хочу тут ебаться с типами поэтому давай будем думать, что там нет null. а он там может быть

21 ответов

19 просмотров

Странная логика. Зачем мне делать проверку через ?., если я допустим строчкой выше присвоил значение полю объекта и к нему обращаюсь. Я просто напрямую обращусь к нему сказав, что оно есть с помощью !

True Jokerge
Странная логика. Зачем мне делать проверку через ?...

Ну так он правильно всё аргументировал ! - это наеб компилятора ? - это вежливая просьба

Bohdan Bida 🇺🇦
Ну так он правильно всё аргументировал ! - это на...

Не совсем ? Это просто проверка как object.key && object.key.secondkey А вместо этого есть сокращение object.key?.secondkey

Так где наеб, если Let a: string | undefined = undefined; a = “smith”; a!.toCamelCase()

Ещё раз повторюсь, использовать ! Это плохая практика

Dmitriy
Ещё раз повторюсь, использовать ! Это плохая п...

Может у вас есть статья какая-то почему?

True Jokerge
Может у вас есть статья какая-то почему?

сколько у тебя лет коммерческого опыта?

True Jokerge
Может у вас есть статья какая-то почему?

Ну "!" говорит тайпскрипт что бы он не сообщал об ошибках типизации при отсутствии свойства у объекта. По сути это каст.

True Jokerge
Так где наеб, если Let a: string | undefined = u...

Объясни логику свою, зачем тут использовал !

True Jokerge
Так где наеб, если Let a: string | undefined = u...

function printSomeTextOnScreen(text) { ...magic... } let a = undefined a = "smith; printSomeTextOnScreen(a); Зачем тут тогда вообще ТС? Я же все равно соблюдаю контракт и правильные типы ставлю

Bohdan Bida 🇺🇦
function printSomeTextOnScreen(text) { ...magic.....

Затем что кто-то потом залезет и де нибудь напишет a = {value:"smith}; И выйдет у тебя потом на экране неведома хрень.

Dmitriy
Объясни логику свою, зачем тут использовал !

Переменной присвоено значение, нет никакого смысла проверять ее на null. Если бы это был чистый js, никто бы в здравом уме не написал код Let a = undefined; a = “smth” a !== unedifbed && a.toCamelCase()

Не хочется придумывать объяснение почему так для абстрактного примера. Не думаю, что кто либо когда-то напишет именно такой код. Но ситуация вполне реально где между и инициализацией и тем что, ниже было много другого

Firstname-Lastname Автор вопроса
True Jokerge
Не хочется придумывать объяснение почему так для а...

Ну на рефакторинге кто-то отредачит переменную: теперь она не будет включать проверку функции (ну просто, не знаю… человеческий фактор). Другой человек не обязан знать твой код. И все. Никаких предупреждений, будешь поставлен перед фактом в рантайме

True Jokerge
Не хочется придумывать объяснение почему так для а...

Мне кажется мы тебе понятно объяснили, какими другими путями можно это сделать Не используя ! Да о чем мы общаемся вообще, как чел с 4 годами ком опыта может доказывать что использование ! Это норм, я хз)))

Dmitriy
Мне кажется мы тебе понятно объяснили, какими друг...

Я и так знал, что можно делать это не используя ! Просто мое мнение заключается в том, что есть места, например, где присвоение и обращение происходят в одном месте и использовать ?. Вместо ! Не имеет смысла

Firstname-Lastname Автор вопроса
True Jokerge
Я и так знал, что можно делать это не используя ! ...

Имеет. Потому что этот оператор делает то же самое, но позволяет выкинуть дополнительную проверку и не сомневаться в этом участке кода никогда

True Jokerge
Переменной присвоено значение, нет никакого смысла...

Никто бы в здравом уме в целом бы такой код не написал, потому что там логический оператор вместо if

True Jokerge
Я и так знал, что можно делать это не используя ! ...

Использовать ? Вместо ! Имеет огромный смысл! Смотри, ! Жестко говорит что значение существует, а если его нет? Тогда все крашится ? Же делает ПРОВЕРКУ на существование и выполняет код дальше только если значение существует

True Jokerge
Переменной присвоено значение, нет никакого смысла...

На почитай кстати https://brendaneich.com/2012/04/the-infernal-semicolon/

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта