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

Https://Www.Typescriptlang.Org/Play?#Code/KYOwrgtgBAwg9gGwCoE8AOwoG8BQV9QgCGEwANHgWgBZwjk4C+OOCwALlANbBcBc3YCjgAzKO3TBRsRKgxQAvDOSSA2vBUYAdMVIBdHEA Что я делаю не так?

13 ответов

37 просмотров
Dmitriy-Shuleshov Автор вопроса

https://www.typescriptlang.org/play?#code/KYOwrgtgBAwg9gGwCoE8AOwoG8BQV9QgCGEmAvFAOTGmUA0eBaAFnCOVS28PTgL44cCYABcoAa2DiAXBOAo4AMygj0wJbESoMUQZPFQK8ZGoB0NYDn2HNJjKa7scQA Хм так использовать верно?

Dmitriy-Shuleshov Автор вопроса

Хочу что б тип был "name" | "phone" И потом правильные значения передавать. Я так понимаю что енам можно заюзать? Как сделать это красиво?

С енамами лучше так не работать

Енам — это уже тип и значение. И лучше не обращаться к его внутренней структуре, потому что она чучуть непредсказуемая

Dmitriy-Shuleshov Автор вопроса

А как лучше решить мою задачу?

не совсем понимаю, в чём твоя задача заключается суть в том, чтобы не смотреть внутрь енама 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

Dmitriy-Shuleshov Автор вопроса

Понял Те лучше полагаться на енам, не смотря на то как реализован доступ к ключам енама?

Dmitriy-Shuleshov Автор вопроса

Ага понял спасибо, просто заклинило чет на том что мне обязательно строка нужна

енам позволяет абстрагироваться от реального значения и использовать исключиьтельно тип перечисления. то есть ты можешь написать код как выше с switch-case, совершенно не задумываясь, что в енаме лежит – просто описываешь кейсы своей абстрактной логики можно, на самом деле, заглядывать внутрь енама. но я зарёкся после того, как увидел js из него полученный. там всё сильно зависит от внимательности

внимай

Dmitriy-Shuleshov Автор вопроса

Да ага понял вроде догнал еще тут https://t.me/ts_cool/166965 Спасибо за пояснение👍

Я не совсем понял это сообщение, поэтому решил разуплотнить)

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта