<div dir="ltr">Got it.  And one more (thanks for bearing with me):  what affect does throwing an error have within a trap?<div><br></div><div style>    var target = { </div><div style>      foo: function() { this.bar; console.log("after bar"); },</div>
<div style>      bar: 0</div><div style>    };</div><div style><br></div><div style>    var proxy = new Proxy(target, {</div><div style>      get: function(obj, name) {</div><div style>        if (name === "bar") throw new Error("boom");</div>
<div style>        return obj[name];</div><div style>      }</div><div style>    });</div><div style><br></div><div style>    proxy.foo();</div><div style><br></div><div style>Does the stack unwind as with normal error handling?  Does "after bar" get logged?  (FF18 answers yes to the first and no to the second question.)</div>
<div style><br></div><div style>{ Kevin }</div><div style><br></div></div>