Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Jak definujete konstanty v Javascriptu?

Máte sadu neměnných dat, která chcete definovat sdruženě.
Podobně jako konstanty tříd v PHP:
class Foo {
private const BAR = 'baz';
}
Jak?
1. Static getter (ES6)
2. Frozen object (ES5)
3. Soukromé konstanty v revealing module (ES6)
Dostupné pouze zevnitř, ale je nutné použít návrhový vzor revealing module. Nefunguje v class
Jak to řešíte vy?
(Hudba budoucnosti: Statická deklarace v třídě)
20. 3. 2019 14:07:40
https://webtrh.cz/diskuse/jak-definujete-konstanty-v-javascriptu/#reply1393642
Řeším to pomocí Object.freeze (navíc v souboru někde zvlášť který importuji, jak je potřeba, či vyjímečně ním rozšířím prototyp nějaké knihovny, kterou všude používám - například Vue, mám potom config dostupný ve všech komponentech, aniž bych jej musel samostatně importovat), například pokud se jedná o nějaká konfigurační data. Když chci navíc použít něco na styl Enum použiju Symbol, ten ale jistě nějak webpack/babel polifilluje.
20. 3. 2019 15:27:07
https://webtrh.cz/diskuse/jak-definujete-konstanty-v-javascriptu/#reply1393641
Jak to myslíte s tím rozšířením prototypu? Zmrazíte objekt s konstantami a přidáte ho prototypu dostupného z vašich tříd/modulů?
Můžete ukázat příklad?
20. 3. 2019 15:44:08
https://webtrh.cz/diskuse/jak-definujete-konstanty-v-javascriptu/#reply1393640
To je sice Vue specific, ale:
bus.js
.vue
Není to sice config, ale myšlenka je snad jasná - nemusím tam nikde v komponentě importovat soubor s něčím, protože to něco již všude mám.
20. 3. 2019 16:13:03
https://webtrh.cz/diskuse/jak-definujete-konstanty-v-javascriptu/#reply1393639
Pro odpověď se přihlašte.
Přihlásit