JS Fundamentals - Decorators - podcast episode cover

JS Fundamentals - Decorators

Aug 14, 202322 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

In this Hasty Treat, Scott and Wes talk about whether decorators are finally here, what the uses cases are for decorators, how to define a decorator, and what auto accessor is.

Show Notes

on classes

@loggged class C {}

on fields

class C { @logged x = 1; }

Auto Accessor

class C { accessor x = 1; }

sugar for below

class C { #x = 1; // # means private get x() { return this.#x; } set x(val) { this.#x = val; } }

Can be decorated and decorator can return new get and set and init functions

function logged(value, { kind, name }) { if (kind === "accessor") { let { get, set } = value; return { get() { console.log(`getting ${name}`); return get.call(this); }, set(val) { console.log(`setting ${name} to ${val}`); return set.call(this, val); }, init(initialValue) { console.log(`initializing ${name} with value ${initialValue}`); return initialValue; } }; } // ... } Tweet us your tasty treats
For the best experience, listen in Metacast app for iOS or Android