© Как его там…
- Subscribers
- Post coverage
- ER - engagement ratio
Data loading in progress...
Data loading in progress...
Vertis JS #2 — митап Яндекс Вертикалей для разработчиков интерфейсов. На мероприятии выступят опытные разработчики из разных отделов, которые поделятся своими знаниями и опытом в области фронтенд-разработки.
enum
(как и `namespace/experimentalDecorators`) - древний реликт вне современного TS.
Контринтуитивный результат
В рантайме мы получаем специфичный отзеркаленный объект, из которого банально нельзя понять, что ключ, а что значение.
Mind blowing решение, удачи с Object.keys/values
.
const enum просто не работают
Казалось бы, красивое решение - в рантайме инлайним значение и enum испарился, но, помимо того, что это не работает нигде, кроме tsc, у const enum
есть целый спектр фундаментальных дыр (`isolatedModules`, type import
, импорт из библиотек), что подробно описано в хендбуке самого TS: https://www.typescriptlang.org/docs/handbook/enums.html#const-enum-pitfalls.
Это мертворожденная фича.
enum - номинальная типизация, а ВЕСЬ TS - структурная
TS построен на структурной типизации с понятными бенефитами, но enum
, просто берет и работает по-другому!
Значения разных енамов не равны ни друг другу, ни литералам, ничему, кроме себя самих (да, изредка мы хотим такое поведение, но, блин, не в енамах).
Это накладывает окраску кода, хардкод, приведение типов и прочие приседания ради классического "шоб TS не ругался".
Обычные объекты + as const
Всё, что дают енамы, можно выразить через обычные объекты + as const / satisfies
!
Всё (в 100 раз больше) 🥹
Можно не создавать лишнюю прослойку c токенами, а сразу писать конфиг.
Можно прозрачно работать как с ключами, так и со значениями.
Можно использовать все возможности TS и почти ничего не терять.
Не теряйте :)
P.S. Ложка мёда: благодаря номинальному дизайну енамов нам легко искать места использования 😏
#typescriptЧетырёхнедельный практический курс посещают начинающие и опытные дизайнеры, арт-директоры, менеджеры, программисты и редакторы.
Sometimes going back is the only way forward that's why you can now write PHP Code directly within JSX in React Components. Since the latest release of Next.js 14 by Vercel "Server Actions" are stable which means it is easier than ever to execute Server Side Javascript Code from right within React Components without writing API Endpoints manually. But we can go further. Let's make in run with the best Programming Language in existence: PHP. Run PHP Code with in React and Next.js! You can find the running code in this GitHub Reporistor:
https://github.com/bufferhead-code/nextjs-use-phpShoutout to elnardu (
https://github.com/elnardu)who came up with the initial implementation for react "use c" and "use rust":
https://github.com/elnardu/react-use-chttps://github.com/elnardu/react-use-rust
--- All of this is possible because of the amazing advancements in the web development ecosystem especially with frontend technologies getting better and better through frameworks like Next.js, Nuxt.js SvelteKit and more. Server Side Rendered Javascript Components and Server Side Javascript Code are the Backbone of Modern Frontend Applications as they allow feature-rich and beautiful applications without the overhead of building REST APIs for everything. Programming Code is getting less separation of concerns with is probably not a great thing but I'm sure the counter movement will come soon. Frontend vs Backend? Why not Both! This video probably contains things that Vercel wouldn't want you to do, and wouln't should you. This is very cursed. Please don't use this pattern in production. --- Music from #Uppbeat (free for Creators!):
https://uppbeat.io/t/hartzmann/purple-linesLicense code: VQSIDLUGY9ITEWQD