05:25
<sirisian>
2 years later I remembered to type this up. Was thinking someone else was going to. Is there any issues with adding optional chaining to the LHS for statements as presented here: https://github.com/sirisian/optional-operators It does take up a lot of syntax so I kind of get why it wasn't considered early on. I'll make a post on es discourse if there's nothing obvious like parsing ambiguities.
05:55
<Justin Ridgewell>
2 years later I remembered to type this up. Was thinking someone else was going to. Is there any issues with adding optional chaining to the LHS for statements as presented here: https://github.com/sirisian/optional-operators It does take up a lot of syntax so I kind of get why it wasn't considered early on. I'll make a post on es discourse if there's nothing obvious like parsing ambiguities.
There’s a Stage 1 proposal for that: https://github.com/tc39/proposal-optional-chaining-assignment
05:56
<sirisian>
I told myself to go check the stage 1 and figured there wasn't one. That's awesome to see.
07:29
<Jack Works>

I feel very excited about function decorators. It can improve DX when I write React.

I used to write components like this (because function declaration has no evaluation step in the debugger) export function C() {}, but when I needed to memo it, I had to rewrite it to export const C = () => {} then export const C = memo(() => {}).

If we have this, I can do this export @memo function C() {}

21:41
<sirisian>
nicolo-ribaudo: When you were working on the LHS optional chaining did having optional operators come up? (As a separate proposal). a.b ?+= 1 behavior where if b is undefined or null the nothing happens.
21:41
<littledan>

I feel very excited about function decorators. It can improve DX when I write React.

I used to write components like this (because function declaration has no evaluation step in the debugger) export function C() {}, but when I needed to memo it, I had to rewrite it to export const C = () => {} then export const C = memo(() => {}).

If we have this, I can do this export @memo function C() {}

Can you elaborate on why this is better?
22:48
<Ashley Claymore>
One thing that is annoying with currently needing to do `export const Button = React.memo((props => { ... });` is that the function becomes anonymous.

being able to do

```
@React.memo
export function Button(props) { ... }
```

is easier to keep the name, and didn't need to rearrange the code to add the wrapper 
23:09
<nicolo-ribaudo>
No, the optionality was only ever for property access
23:25
<Jack Works>
Can you elaborate on why this is better?
I can add @memo directly, without having to convert function declaration into lexical declaration + function expression manually
23:26
<Jack Works>
(although I can do `C = memo(C)` but typescript won't be happy, I think `export function C` should not be reassigned)