Label statement moveable

Emanuel Allen emanuelallen at hotmail.com
Wed May 20 17:36:43 UTC 2015


Just wanted to see what type of effect if we modify their behavior to where the continue statement is allow in ant type of block statement as continue to this name label statement, starting from the top of the label block scope. Combine this with the power to break from that block statement with the key word break(like it can now), but also modified to where if a name label does not follow it'll break back to the continue that(in a sense) goto to the statement we are breaking from and continue onward with the code... 

In short, yes. I want to be able to continue/break from one block statement to another 

JS4Lf

> On May 20, 2015, at 6:45 AM, Sebastian McKenzie <sebmck at gmail.com> wrote:
> 
> So you want to add goto to JavaScript?
> 
> 
> 
> 
>> On Wed, May 20, 2015 at 11:42 AM, Emanuel Allen <emanuelallen at hotmail.com> wrote:
>> Clarify:
>> 
>> My previous post was not that clear. That post display what I would like to do in the language. Here is the actual code if I choose to do it as the language is now: 
>> var i = 0, n = 5;
>> l2: do {
>>  i += 1;
>>  l3: do {
>>    if (i<n) continue l2;
>>    else break l3;
>>  } while (true);
>>  break l2;
>> } while (true);
>> //just log the value n+1:
>> console.log('i:'+i);
>> 
>> loop through label l2 n amount of times before breaking.
>> 
>> This could be useful to escape function invocation cost, if it could be simply express:
>>  l2: {
>>   i += 1;
>>  }
>>  l3: {
>>    if (i<n) continue l2;
>>  }
>> 
>> The function way is to:
>> function l2(){
>>   i += 1;
>> }
>> 
>> l3: do {
>>    if (i<n) l2();
>>    else break l3;
>>  } while (true);
>> 
>> I did a <a href="http://jsperf.com/block-scope-vs-function-invocation">
>> jsprf </a>to further my argument for a sudo goto/function effect:
>> 
>> http://jsperf.com/block-scope-vs-function-invocation
>> 
>> JS4Lf
>> 
>>> On May 19, 2015, at 2:45 PM, L4L <lv2lrn4lf at gmail.com> wrote:
>>> 
>>> Since we have block scope, and we have continue statement to which we can use in loops to jump back to the conduction statement part. 
>>> 
>>> Than can we consider making label stamens moveable by its name. 
>>> 
>>> I'll like to say that the side effect would be sudo(pseudo) function, example:
>>> 
>>> function foo(v){
>>>  return v + 1;
>>> }
>>> 
>>> 
>>>  var i = 0;
>>> 
>>>  baz:{
>>>    i += 1;
>>>  }
>>> 
>>> continue baz;//same as foo(i);
>>> 
>>> console.log(i);
>>> 
>>> Note that I said sudo function. Its mobility is what of value; depending on how JavaScript handle the continue statement in a loop to transport that effect out side a loop. 
>>> 
>>> Stripping this privilege to black scope; where the continue statement is expanded to work only in block scope and nested block scope; to where it can only jump to the beginning of that block or any other block scope that is scoped to that outer block scope but not nested block scope with in the scope... Like function.
>>> 
>>> Continue and break statement could be of more power; where we can avoid some function call in "speed matter" application.
>>> 
>>> Excuse any grammar errors. 
>>> 
>>> JS4Lf
>>> _______________________________________________
>>> 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/20150520/86ca63e3/attachment-0001.html>


More information about the es-discuss mailing list