Robert O’Callahan: > What does that mean for those of us who fear WebIDL? :) A valueOf method on an object allows it to be converted into a primitive when used with particular operators: >>> rect = { x: { valueOf: function() { return 12.5 } } } [object Object] >>> rect.x + 50 62.5 The internal [[DefaultValue]] method by default in ES232 calls valueOf on the object. So another way to achieve the same effect (the SVGAnimatedLength object acting like a Number in some contexts) would be to override that [[DefaultValue]]. http://bclary.com/2004/11/07/#a-8.6.2.6 It’s not perfect, though. And it feels a bit too “clever”. It also wouldn’t work for SVGAnimatedBoolean objects, since the ECMAScript ToBoolean() operator doesn’t invoke [[DefaultValue]] like ToNumber() does. If we could get away with it, I agree that it would be better to just replace the SVGAnimated* things with something simpler like what you suggest. -- Cameron McCormack ≝ http://mcc.id.au/Received on Wednesday, 15 July 2009 08:56:33 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 15 July 2009 08:56:36 GMT