<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 10, 2015 at 5:42 PM, joe <span dir="ltr"><<a href="mailto:joeedh@gmail.com" target="_blank">joeedh@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Isn't this what switch statements are for?  Perhaps a condensed operator version of a switch would be useful?<div><br></div><div>    if (a == 0 : 1 : 2) {</div><div>    }</div></div></blockquote><div><br></div><div>switch does eqeqeq comparison so is not exactly the same</div><div>`<span style="color:rgb(48,57,66);font-family:monospace;font-size:11px;white-space:pre-wrap">switch(1) { case true: console.log('never'); }`</span></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div><div>Or perhaps something similar to the set version, but without the set:</div><div><br></div><div>    if (a of 1, 2, 3, 4, 5, 6) {<br></div><div>    }</div></div></div></blockquote><div><br></div><div><br></div><div>an `if/of` doesn't feel that right to me ... weird semantic</div><div><br></div><div>`[1, 2, 3, 4, 5, 6].contains(a)` looks better ?</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><br></div></div><div>One could do this as a standard lib variadic function, I suppose:</div><div><br></div><div>    if (select(a, 1, 2, 3, 4, 5, 6)) {</div><div>    }</div><div><br></div></div></blockquote><div><br></div><div>No, the main  point of having operators is that the engine could just skip the fallback part.</div><div><br></div><div><br></div><div>`var a = 1 || doSomethingComplex(123)`</div><div><br></div><div>as example, will never execute doSomethingComplex whilc passing any value as argument should be already resolved as value.</div><div><br></div><div><br></div><div><br></div><div>In any case, FWIW, I think this is a classic "nostalgia operator" asked from someone that uses from another PL or just started using JS ... I wouldn't mind some well integrated and well thought shortcut, but I feel like this should be the least priority for ES.next</div><div><br></div><div>Best Regards</div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div><br></div><div>Cheers,</div><div>Joe</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Aug 10, 2015 at 6:09 AM,  <span dir="ltr"><<a href="mailto:myemailum14@gmail.com" target="_blank">myemailum14@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Thanks I'll be searching through archive, and yea i think this is something very simple and yet innovative.</div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 10, 2015 at 3:55 AM, Peter van der Zee <span dir="ltr"><<a href="mailto:ecma@qfox.nl" target="_blank">ecma@qfox.nl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Aug 10, 2015 at 3:50 AM,  <<a href="mailto:myemailum14@gmail.com" target="_blank">myemailum14@gmail.com</a>> wrote:<br>
> Isn't<br>
> prop ||= 0;<br>
> better than<br>
> prop = prop || 0;<br>
> and it can be even defined like this.<br>
> prop ||= var1 ||= var2 ||= 0;<br>
> but then i dont know how we can use it ike this<br>
> if (num == 3 ||=4 ||=6)<br>
<br>
Sounds like you want two operators; `||=` for the compound assignment<br>
case and `||==` and `||===` for the "compare the RHS to the LHS of the<br>
last `===` or `==` op", or something like that. Defining a single op<br>
for both of these cases is likely to lead to ambiguity.<br>
<br>
The `||=` (and `&&=`) case has been discussed a couple of times, look<br>
in the esdiscuss archives.<br>
I'm sure something like `||==` has been discussed too though I don't<br>
recall it myself. I tend to use switches myself for this in case perf<br>
is an issue.<br>
<span><font color="#888888"><br>
- peter<br>
</font></span></blockquote></div><br></div>
</div></div><br></div></div><span class="">_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></span></blockquote></div><br></div>
<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br></div></div>