Proposal: anaphoric if and while syntax

Isiah Meadows isiahmeadows at gmail.com
Thu Sep 15 21:09:40 UTC 2016


I say let's hold off until JavaScript gets pattern matching support
(assuming it does). It's rather limiting otherwise, and the use case IMHO
doesn't really merit a new syntax for it.

On Thu, Sep 15, 2016, 15:47 Jeremy Martin <jmar777 at gmail.com> wrote:

> > 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
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20160915/bd9ddd20/attachment-0006.html>


More information about the es-discuss mailing list