1. EachPod
EachPod

JS Fundamentals - Decorators

Author
Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers
Published
Mon 14 Aug 2023
Episode Link
http://sites.libsyn.com/100962/js-fundamentals-decorators

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 00:25 Welcome
01:00 Are decorators finally here?
TC39 proposal

How this compares to other versions of decorators

06:47 What are use cases for decorators?
10:55 How do you define a decorator?
14:20 Auto Accessor
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 Scott’s Instagram

LevelUpTutorials Instagram

Wes’ Instagram

Wes’ Twitter

Wes’ Facebook

Scott’s Twitter

Make sure to include @SyntaxFM in your tweets
Wes Bos on Bluesky

Scott on Bluesky

Syntax on Bluesky

Share to: