Proposal: anaphoric if and while syntax

Jeremy Martin jmar777 at gmail.com
Sat Oct 1 01:32:51 UTC 2016


> If yes ... why would anyone write that ?

I think it would have to be "yes" (and that's probably just a contrived
example that doesn't demonstrate the usefulness).

Slightly less contrived, I could see the value in this, though. E.g.,

```
router.get('/user', (req, res, next) => {
    if (let user = req.session.user) {
        // do stuff with user here
    } else {
        res.status(401).end();
    }
});
```

I don't think it works as cleanly with `var`, but `const` and `let` has
some nice precedence with for-statements.


On Thu, Sep 15, 2016 at 2:45 PM, Andrea Giammarchi <
andrea.giammarchi at gmail.com> wrote:

> > if( let a = ( let b = 10 ) * 3 > 10 )
>
> I've honestly no idea, at first/quick read, what the hell that would
> produce.
>
> Is `a` going to be just `true` ? 'cause if not, this proposal violates
> operator precedence.
>
> If yes ... why would anyone write that ?
>
> On Thu, Sep 15, 2016 at 7:30 PM, J Decker <d3ck0r at gmail.com> wrote:
>
>> Why not more generally - allow let/var declarations in expressions?
>>
>> coming from a long and rich C background, I have no issues with the
>> existing mechanisms... but for those languages that do support variable
>> declarations in for loops; I've always wondered why not any expression?
>>
>> if( let a = ( let b = 10 ) * 3 > 10 )
>> ... or ...
>>
>> c = (let a = b*d)
>>
>> granted, the scope is extremely limited in the last case...
>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>


-- 
Jeremy Martin
661.312.3853
http://devsmash.com
@jmar777
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20161001/055a0c69/attachment.html>


More information about the es-discuss mailing list