- From: Maciej Stachowiak <mjs@apple.com>
- Date: Tue, 20 May 2008 15:34:20 -0700
On May 20, 2008, at 2:56 PM, Robert O'Callahan wrote: > On Tue, May 20, 2008 at 3:50 PM, Maciej Stachowiak <mjs at apple.com> > wrote: > > On May 19, 2008, at 4:54 PM, Robert O'Callahan wrote: > > If "storage.keyName = 'value';" can create a new storage item > (persistently), won't authors expect "delete storage.keyName;" to > remove it (persistently), as a matter of consistency? > > If overloading "delete" is too quirky or too hard to implement, then > it seems none of the other shorthands should be allowed either. > > Many objects in the DOM implement custom name getters (for instance > NodeList) and a few even implement custom name setters > (CSSStyleDeclaration, at least the way it is done in WebKit) but no > one has clamored for a custom deleter or expected delete to work "as > a matter of consistency" or been confused that "style.opacity = 0" > is allowed but "delete style.opacity" is not. So I would say the > available evidence argues against your conclusions. > > I think 'style' does not bear on my conclusions, since 'style' has > custom property getters and setters, but not *adders* --- > "style.foobar = ...;" does not trigger any DOM API. Storage is > different, it is something new. style.opacity = ... certainly triggers DOM API even if opacity was not previously set on that style. And there is even a plausible mapping for delete (style.removeProperty). It's not completely open-ended but you can certainly have properties added to and removed from a style declaration. Ultimately the conclusion I question is that having obj.foo and obj.foo = ... work, but not delete obj.foo, will create confusion or is somehow illogical. I don't believe it will create confusion, and I think style is a relevant example of a case where it has not. Regards, Maciej -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20080520/6ac2db70/attachment.htm>
Received on Tuesday, 20 May 2008 15:34:20 UTC