That will work in json but Object.GetBase is not so nice.

Also I think GetBase(GetBase(GetBase(this))) looks a bit ugly.

在 2012年3月7日 上午12:22,Aymeric Vitte <[email protected]>写道:

>  Even if GetBase was existing I don't know if it would cover all your
> needs but unless I missed something I don't get your last example (where p
> is defined and where GetBase is supposed to be called ?)
>
> Le 06/03/2012 16:33, 程劭非 a écrit :
>
> Sorry.
> I mean the following case:
>
>  var x = {
>     a:{
>     },
>     b:{
>     }
> }
>
>  x.a.p = x.b.p = {};
>
>  So GetBase is not able to decide to return x.a or x.b.
>
>
> 在 2012年3月6日 下午11:08,Aymeric Vitte <[email protected]>写 道:
>
>>  Some object could have more than one ancestor.
>>
>>
>>  Yes, so ? It's not in contradiction with what I am saying
>>
>> Le 06/03/2012 14:58, 程劭非 a écrit :
>>
>> I prefer "this" to be root object. Some object could have more than one
>> ancestor.
>>
>> 2012/3/6 Aymeric Vitte <[email protected]>
>>
>>>  Yes, assuming that GetBase is usable (8.9) :
>>>
>>> var obj = {
>>>     x:{
>>>         a: GetBase(this) // obj
>>>     }
>>> }
>>>
>>> But it is an internal function only, there are things defined in specs
>>> to access properties of objects but nothing the other way, because I
>>> believe the case never happens today.
>>>
>>> The "this" proposal is not bad for me (and even good), if I take Lasse
>>> Reichstein's objection, I would say :
>>>
>>>  {"a" : this.b, //undefined
>>>   "b" : this.a } //undefined
>>>
>>>
>>> Same as if you do : function f() {this.a = this.b; this.b = this.a}; var
>>> g = new f();//g.a undefined //g.b undefined
>>>
>>> It does not solve your issue but it makes me think to a more global
>>> issue, the "lexical this" here
>>> http://brendaneich.com/2011/01/harmony-of-my-dreams/ or this post
>>> https://mail.mozilla.org/pipermail/es-discuss/2012-February/020749.html(which
>>>  apparently did not passionate)
>>>
>>> But this should not be applicable to functions only, this could be
>>> generalized to objects, where "this" unless explicitely bound to something
>>> should refer to the object itself, and not the global object (moreover that
>>> there are discussions about the future of the global object)
>>>
>>> Then an Object.GetBase could be added to refer to the "parent" or "outer
>>> object"
>>>
>>> I am not aware of all discussions (maybe it was already discussed and
>>> rejected) and it's not easy to see the whole impact of such change, but I
>>> don't think that the idea is absurd, I did not invent it myself and it
>>> would be more logical than the current behavior of "this" and avoid
>>> repetitives operations (var self=this, getters/setters, use of new (why do
>>> I have to use new in the example above ?))
>>>
>>> Regards
>>>
>>> A. Vitte
>>>
>>> Le 05/03/2012 13:16, 程劭非 a écrit :
>>>
>>> {
>>>   "a":123,
>>>   "b": this.a
>>> }
>>>
>>>  If you simply want “this” in JSON.parse,  it will not be hard to
>>> implement it in my library.
>>> But I guess the problem is we have no way to refer to its parent. Do you
>>> have any ideas?
>>>
>>> 2012/3/5 gaz Heyes <[email protected]>
>>>
>>>> It's a shame that "this" doesn't work with object literals :(
>>>> How nice would this be:
>>>>
>>>> {
>>>>   "a":123,
>>>>   "b": this.a
>>>> }
>>>>
>>>> _______________________________________________
>>>> es-discuss mailing list
>>>> [email protected]
>>>> https://mail.mozilla.org/listinfo/es-discuss
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> es-discuss mailing 
>>> [email protected]https://mail.mozilla.org/listinfo/es-discuss
>>>
>>>
>>>   --
>>> jCore
>>> Email :  [email protected]
>>> Web :    www.jcore.fr
>>> Webble : www.webble.it
>>> Extract Widget Mobile : www.extractwidget.com
>>> BlimpMe! : www.blimpme.com
>>>
>>>
>>
>> --
>> jCore
>> Email :  [email protected]
>> Web :    www.jcore.fr
>> Webble : www.webble.it
>> Extract Widget Mobile : www.extractwidget.com
>> BlimpMe! : www.blimpme.com
>>
>>
>
> --
> jCore
> Email :  [email protected]
> Web :    www.jcore.fr
> Webble : www.webble.it
> Extract Widget Mobile : www.extractwidget.com
> BlimpMe! : www.blimpme.com
>
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to