Proposal: anaphoric if and while syntax

Andy Earnshaw andyearnshaw at gmail.com
Fri Sep 30 23:50:27 UTC 2016


How so? Assignment is already possible in control structures.  I think this
reads better:

```
if (let a = foo) {
```

Than:

```
let a;

//...

if (a = foo) {
```

Having the `let` or `const` inside the conditional part clarifies the
intent. There's an argument for not doing assignment inside the conditional
part, but it's subjective and people will write code that way regardless.
I'd much rather see `let` or `const` next to code like that if it means
mistakes are less likely to be made.

On Thu, 15 Sep 2016, 15:17 Mark Volkmann, <r.mark.volkmann at gmail.com> wrote:

> For what it's worth, I'm on the side of people that do not want to see
> assignment statements in control structures. I don't think it is necessary
> and it results in code that is harder to read.
>
> On Wed, Sep 14, 2016 at 8:51 PM, Alan Johnson <alan at breakrs.com> wrote:
>
>> What about `else if`?
>>
>> On Sep 14, 2016 9:28 PM, "Bergi" <a.d.bergi at web.de> wrote:
>>
>>> Danielle McLean wrote:
>>>
>>> variables declared
>>>> using `let` or `const` would be scoped to the individual `if` or `while`
>>>> statement, rather than the containing block. In other words, the above
>>>> syntax
>>>> would be equivalent to the following currently-valid form I ended up
>>>> writing:
>>>>
>>>>     {
>>>>       const oldValue = _.get(object, 'some.long.path');
>>>>       if (oldValue) object.some.long.path = transform(oldValue);
>>>>     }
>>>>
>>>
>>> What about `else` blocks, would the variables be available in them as
>>> well?
>>>
>>> - Bergi
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
>
> --
> R. Mark Volkmann
> Object Computing, Inc.
> _______________________________________________
> 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/20160930/d6c2a152/attachment.html>


More information about the es-discuss mailing list