let* is the new var

Michael O'Brien mob at mbedthis.com
Wed Apr 2 15:11:09 PDT 2008


We define the slots for vars and functions first at the top of the block
and do initializations in-order where they reside in the code flow. So:

class XX {
	function foo ...

	//	fooAlias exists here but is undefined
	var fooAlias = foo

	//	fooAlias is now initialized
}


Michael


On Apr 2, 2008, at 2:49 PM, Lars Hansen wrote:
> Don't remember this ever coming up; I always assumed it would be like
> for ES3 code (scopes of names are the entire block; functions are
> initialized first; then variables in order).
>
> --lars
>
>> -----Original Message-----
>> From: es4-discuss-bounces at mozilla.org
>> [mailto:es4-discuss-bounces at mozilla.org] On Behalf Of P T Withington
>> Sent: 26. mars 2008 05:48
>> To: Dave Herman
>> Cc: es4-discuss Discuss; Jon Zeppieri
>> Subject: Re: let* is the new var
>>
>> This conversation makes me ask, what is the semantics of var
>> in a class declaration?  E.g.:
>>
>> class ... {
>>   function foo ...
>>   var fooAlias = foo;
>>
>>   var bar = 42;
>>   var bletch = bar + 1;
>>
>> etc.
>>
>> Same rules?  All slots created at the top of the block and
>> initializations executed in order?  I'm particularly
>> interested in the case of creating an alias to a function.
>>
>> On 2008-03-25, at 19:03 EDT, Dave Herman wrote:
>>> Created as ticket #375:
>>>
>>> http://bugs.ecmascript.org/ticket/375
>>>
>>> Dave
>>>
>>> _______________________________________________
>>> Es4-discuss mailing list
>>> Es4-discuss at mozilla.org
>>> https://mail.mozilla.org/listinfo/es4-discuss
>>
>> _______________________________________________
>> Es4-discuss mailing list
>> Es4-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es4-discuss
>>
> _______________________________________________
> Es4-discuss mailing list
> Es4-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es4-discuss




More information about the Es4-discuss mailing list