Задолбаешься каждый раз проверять на налл. Userstate / null. Так один раз проверил и жизнь стала проще.
null это вообще очень тупо, лушче interface ClientInfo { someField?: string }
У человека чешется на null. Пусть чешется. В целом ? значительно проще и лучше и понятнее. Но тот описанный объект - жесть. Этот объект либо есть, либо его нет вообще. А вручную расписывать так структуру - излишне и не несёт профита.
https://hackernoon.com/null-the-billion-dollar-mistake-8t5z32d6
описание объекта - лишнее. до меня написали хрень
Разве? Разве лучше иметь не иметь свойства в объекте, чем иметь, но null. Во первых деоптимизация, во вторых какие-нибудь мета-штуки не смогут построить по отсутствующему полю setter/getter
лучше не иметь и спокойно всегда проверять на пустоту чем проверять на null постоянно
const object = { test: null }; const { test = 5 } = object; console.log(test); // null угадай почему?)
Как проверять на пустоту? 'someProperty' in someObject?
Знаю почему. Потому что дефолт работает с undefined
someObject?.someProperty
уже один минус к нуллу
С null так тоже можно делать
ну так зато ты везде не пишешь type | null в типах
Я пишу так. Так и явно и читаемее. Но и someProperty?: Type- в следующих версиях ТСа будет не тоже самое что`someProperty?: Type | undefined`
ну тут как бы если в проекте стоит strictNullChecks флаг в true то мне проще юзать :? такой сиснтаксис, он короче
Никогда не видел чтобы он был в false, думаю это стандарт
да в легаси проектах он бывает в false
Это для легаси проектов, который переводятся с js постепенно, там еще и noImplicitAny для тех же целей
++++
Обсуждают сегодня