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

Кто нибудь может привести юзкейс в котором unknown чем-то лучше

any?

13 ответов

19 просмотров

‘Unknown’ всегда лучше ‘any’. Когда ты пишешь на тс, скорее всего, ни один тип у тебя не может быть «любым», но иногда может быть «неизвестным». Не надо врать тс и тс не будет врать тебе. Например, у тебя объект ‘User’ почему-то типа ‘unknown’ в твоих интересах, чтобы чекер не дал где-то обратиться к свойству ‘User.age’, возможно у юзера и нет никакого возраста - unknown. Any даст это сделать, потому что юзер это кто угодно и у него может быть все что угодно

тем не менее any вполне имеет право на жизнь в качестве части констрейнта в дженериках

Наверно, но я избегаю, как учат взрослые)

Только глубоко в ядре библиотек, которые ваш код уже не видит, как any (в частности, встроенные в ТС дженерики)

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

И чем unknown в таком случае не подойдёт? жду пример на плейграунд

это был лишь общий пример для мест где эни вполне может жить без вреда ну и Иван где-то приводил когда any[] срабатывал лучше чем unknown[]

опять-таки - то был кор (глубокие внутренности), которые "внешний код" не видит, как any На скрине - простенькая функция, которая использует any - но внешний код этого не увидит

ну ладно, может и так я уже несколько месяцев простой прикладной код не писал

Тут короче много что успели сказать по теме и не очень. Изначально был только any, а покрытие типами библиотек было небольшим, да и TypeScript не особо умел выводить типы. В этот момент по причине данных обстоятельств, проблем он не создавал.

Ничего себе, пусть даже две недели спустя, но правильные выводы ты всё-таки вынес. Плюсую это утверждение.

Эту функцию я внёс проект раньше, чем 2 недели назад. Так что, этот код не результат твоего спича)

Я не про функцию, а про аргумент. Понятно что совершенно разные вещи "нет такой код где есть any я под своим именем публиковать не могу" и приведение точно такого же своего кода с any внутри в пример

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта