any?
‘Unknown’ всегда лучше ‘any’. Когда ты пишешь на тс, скорее всего, ни один тип у тебя не может быть «любым», но иногда может быть «неизвестным». Не надо врать тс и тс не будет врать тебе. Например, у тебя объект ‘User’ почему-то типа ‘unknown’ в твоих интересах, чтобы чекер не дал где-то обратиться к свойству ‘User.age’, возможно у юзера и нет никакого возраста - unknown. Any даст это сделать, потому что юзер это кто угодно и у него может быть все что угодно
тем не менее any вполне имеет право на жизнь в качестве части констрейнта в дженериках
Наверно, но я избегаю, как учат взрослые)
Только глубоко в ядре библиотек, которые ваш код уже не видит, как any (в частности, встроенные в ТС дженерики)
не сказал бы что обязательно в глубине ядра скорее в той части констрейнта куда функция\тип-утилита уже не полезет, там где нет ее ответственности. к примеру если мы делаем операции над ключами, обьектов, то можно забив передать в значения рекорду any
И чем unknown в таком случае не подойдёт? жду пример на плейграунд
это был лишь общий пример для мест где эни вполне может жить без вреда ну и Иван где-то приводил когда any[] срабатывал лучше чем unknown[]
ну ладно, может и так я уже несколько месяцев простой прикладной код не писал
Тут короче много что успели сказать по теме и не очень. Изначально был только any, а покрытие типами библиотек было небольшим, да и TypeScript не особо умел выводить типы. В этот момент по причине данных обстоятельств, проблем он не создавал.
Ничего себе, пусть даже две недели спустя, но правильные выводы ты всё-таки вынес. Плюсую это утверждение.
Эту функцию я внёс проект раньше, чем 2 недели назад. Так что, этот код не результат твоего спича)
Я не про функцию, а про аргумент. Понятно что совершенно разные вещи "нет такой код где есть any я под своим именем публиковать не могу" и приведение точно такого же своего кода с any внутри в пример
Обсуждают сегодня