<div class="gmail_quote">2011/8/11 Tom Van Cutsem <span dir="ltr"><<a href="mailto:tomvc.be@gmail.com">tomvc.be@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div><div class="h5"><div>Noted. I'll write up a small strawman to change the signature of 'defineProperty' to return a boolean success value. This change should be fully compatible with the existing API, as the return value of the 'defineProperty' trap is currently ignored.</div>
</div></div></div></blockquote><div><br></div><div>For completeness: it's here: <<a href="http://wiki.ecmascript.org/doku.php?id=strawman:defineproperty_reject_behavior">http://wiki.ecmascript.org/doku.php?id=strawman:defineproperty_reject_behavior</a>></div>
<div><br></div><div>One upwards-compatibility hazard I see is that all current Proxy code that does not explicitly return a value from its |defineProperty| trap, implicitly returns |undefined|, which is coerced to |false|. That is probably not the behavior that was intended.</div>
<div><br></div><div>So, to future-proof if this strawman is accepted, I think it's best to let existing |defineProperty| traps |return true;|.</div><div><br></div><div>Cheers,</div><div>Tom</div></div>