On Mon, Oct 22, 2012 at 10:33 PM, Ojan Vafai <ojan@chromium.org> wrote: > On Mon, Oct 22, 2012 at 8:08 PM, Boris Zbarsky <bzbarsky@mit.edu> wrote: >> >> On 10/22/12 9:24 PM, Ojan Vafai wrote: >>> >>> Obviously, there's nothing we can do about legacy APIs, so it might >>> still make sense to add the annotation even if we decide that methods >>> should always return a new object. >> >> Having methods always return a new object is silly, imo. Consider a >> method like getElementById. How would it make any sense for it to always >> return a new object? > > Good point. That would be silly. Yes, it seems like functions are very case dependent. However I agree that attribute getters in general should be returning the same object. So obj.attr === obj.attr should in general return true. Though I suspect that there are several cases where changing the object state will also change what object it returns. So obj.attr === obj.attr; // Generally true x = obj.attr; obj.someFunc(...); x === obj.attr; // Can go either way. Node.firstChild would be a good example of this. / JonasReceived on Tuesday, 23 October 2012 22:45:37 UTC
This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:07 UTC