https://www.typescriptlang.org/play?#code/KYOwrgtgBAwg9gGwCoE8AOwoG8BQV9QgCGEmAvFAOTGmUA0eBaAFnCOVS28PTgL44cCYABcoAa2DiAXBOAo4AMygj0wJbESoMUQZPFQK8ZGoB0NYDn2HNJjKa7scQA Хм так использовать верно?
Хочу что б тип был "name" | "phone" И потом правильные значения передавать. Я так понимаю что енам можно заюзать? Как сделать это красиво?
С енамами лучше так не работать
Енам — это уже тип и значение. И лучше не обращаться к его внутренней структуре, потому что она чучуть непредсказуемая
А как лучше решить мою задачу?
не совсем понимаю, в чём твоя задача заключается суть в том, чтобы не смотреть внутрь енама enum ColType { name = 'name', phone = 'phone', } const pek = (x: ColType) => { switch (x) { case ColType.name: return alert('pew pew'); case ColType.phone: return alert('pew pew'); default: return never(x) } } pek(ColType.name)
https://tsplay.dev/mx5o8W
Понял Те лучше полагаться на енам, не смотря на то как реализован доступ к ключам енама?
Ага понял спасибо, просто заклинило чет на том что мне обязательно строка нужна
енам позволяет абстрагироваться от реального значения и использовать исключиьтельно тип перечисления. то есть ты можешь написать код как выше с switch-case, совершенно не задумываясь, что в енаме лежит – просто описываешь кейсы своей абстрактной логики можно, на самом деле, заглядывать внутрь енама. но я зарёкся после того, как увидел js из него полученный. там всё сильно зависит от внимательности
Да ага понял вроде догнал еще тут https://t.me/ts_cool/166965 Спасибо за пояснение👍
Я не совсем понял это сообщение, поэтому решил разуплотнить)
Обсуждают сегодня