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

Всем привет, кто подскажет, как правильно решать проблему, есть тип

T | object, либо объект пустой, либо содержит все перечисленные пропсы и компилятор всегда ругается что поле object не содержит искомое свойство?

31 ответов

7 просмотров

Либо без юнионов, либо discriminated unions. Пока другие практики не прижились 🤷‍♂

type FullOrEmpty<T> = T | { [K in any] : never };

вроде вполне норм вариант который я скинул)

Я не в курсе. А {[K in any] : never} чем-то отличается от типа {}? Ну, и если известно, что T - объект, лучше это явно указать в дженерике: T extends {}

в {} можно засунуть что угодно

собсна вот

Ведут себя одинаково абсолютно. Есть кейс с разницей?

Похоже на правду... спасибо

👍

Эх, мало того, что юнион, так ещё и всякие Required, опциональные поля... Поди потом разберись, как эти типы инферятся о_О Думаю, лучше так не делать)) А если потом ещё сверху extends напихать... 😂

а вот это видел?)))

Когда типизация становится видом спорта?

ну тип того)) такое еще есть, конечно, но это не для этого чата

По-моему те, кто не использует conditional типы - будут иметь фору в этом виде спорта))

да что ты пристал к кондишнлам то))

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

Roman-Tikhiy Автор вопроса

Спасибо, нормальный вариант

А если сделать T | Readonly<{}> ?

Как такое сделать(фон)?

Background image плагин в Jetbrains'овых IDE

А в vs code есть такое?

Не знаю Background image vs code в гугле в помощь

извращение еще то

Плагинов море

Можно примерчик ? :D

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

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

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Карта сайта