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

А как правильно типизировать мапы чего либо в виде

объектов любой структуры ? Хардкодить каждое свойство?
ну типо динамически c key не выйдет?

ну такой базовый пример конечно этих свойств может быть в разы больше
const someMap = {
a: 'sdfsdfsd',
b: {
id: 2,
prop: {
some: 'some'
}
},
}

10 ответов

5 просмотров
Drew-Naumenko Автор вопроса

а вот не канает ругаеться что у string нету проперти обьекта

Drew Naumenko
а вот не канает ругаеться что у string нету пропер...

https://www.typescriptlang.org/play?#code/C4TwDgpgBAGnUF4oG8oG0DWEQC4oGdgAnASwDsBzAXT0NMqgB8oyBXAWwCMIinZ4AvgCghAYwD2ZQlAAeeODEQohUKAEM8AcgAma-LvyaANCqic8yU6tFa12-Xu3GrUbXgCMn9ydUCTwoA

Drew Naumenko
а вот не канает ругаеться что у string нету пропер...

Ты хочешь чтоб вывод был ? Можно XXX в констрейнт Identity функции пихнуть

Drew-Naumenko Автор вопроса

я даже такое чёто пробовал делать typeof variantsMap[variant] === 'string'

Drew Naumenko
я даже такое чёто пробовал делать typeof variantsM...

ну это потому что он не может понять, что там за тип под этим индексом. их же там несколько разных может быть. поэтому он и матерится. у тебя тут только вариант через as делать

Drew-Naumenko Автор вопроса
Рой Волков
ну это потому что он не может понять, что там за т...

покаж плиз , ну я немного понимаю что оно отваливается тут само динамическое, то-есть неявное количество свойств и типов немного противоречит самой сути тс

https://www.typescriptlang.org/play?#code/C4TwDgpgBAGnUF4oG8oG0DWEQC4oGdgAnASwDsBzAXT0NMqgB8oyBXAWwCMIinZ4AvgCghAYwD2ZQlAAeeODEQohUKAEM8AcgAma-LvyaANCqic8yU6tFa12-Xu3GrUbXgCMn9ydUCTAgG4RGQA6NXCQziildwAmAGYAqAB6ZKhAPhBACRBADhBARhBALhBABhARAApQ8LV1fH4YAEpI6KQ4xJS0wF4QQFYQQCEQDJyC7KEgA

Drew-Naumenko Автор вопроса

Благодарность!, это работает в TS я совсем новый и что для стандартного JS норма и в порядке вещей то для тс быть не правильным такой подход но лучше видимо мап больше делать, но однотипных, чем одну но с разной структурой

Drew Naumenko
Благодарность!, это работает в TS я совсем новый...

я сам всего год в тс, ну имхо лучше ко всем структурам свой тип писать, так проще будет всем жить. кстати вот выше про typeof подсказывали, вот так работает тоже if (typeof x.aaa === 'object') { x.aaa.bbb = 123; }

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

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

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Доброе утро! Не совсем понятно как установить счетчик яндекс метрики на сайт. И потом ещё цели проставить?
Евгения
18
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Hello dear devs I have a problem with Flutter web and iframe element consider I have a scrollable widget in flutter web with different widgets inside of it. I want to freely ...
M
4
Кто-нибудь знает, как считается нагрузка на цпу? И что такое вообще "нагрузка на цпу"? вот, например, есть у цпу какой-то clock, настроенный на 3 ГГц --- Что значит "нагрузка...
Toideng
15
Можно ли написать свою библиотеку "socket" на каком либо языке ассемблера с нуля не используя сишние библиотеки ? Или это самоубийство ?
123🪐
15
Карта сайта