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.
Regards,
Maciej