In the talk Changes to JavaScript, Part 1: EcmaScript 5, Mark Miller
states that ES5 Default contains four static scope violations (direct link:
http://www.youtube.com/watch?v=Kq4FpMe6cRst=42m53s). He also states that
ES5 Strict corrects these violations, making ES5 Strict is a statically
scoped
if “ooops” belong the the global scope of from the
function’s scope (we can only find that out at runtime).
From: Šime Vidas
Sent: Wednesday, October 03, 2012 6:41 PM
To: es-discuss@mozilla.org
Subject: Is ES5 Strict a fully statically scoped language?
In the talk Changes to JavaScript, Part 1
On Oct 3, 2012, at 10:05 AM, François REMY wrote:
In non-strict ES, the “t” function may be eval, and eval could add a “oops”
variable in the parent function getOoops.
I don't believe this is true. This does not constitute a direct call to eval
(15.1.2.1.1), and as such the eval will take
Indirect eval is something introduced for ES5 Strict only, I believe. Try
the following code in your browser’s console, and you may be surprised:
((function(t) { t(var body=true); return function() { return
body; }; })(eval))())
___
es-discuss
On Oct 3, 2012, at 12:40 PM, François REMY wrote:
Indirect eval is something introduced for ES5 Strict only, I believe.
Nope. See 15.1.2.1.1, no reference to strict.
Here's a better example:
(function(t){ var x = 'foo'; t(x = 'bar'); alert(x); })(eval)
The indirect eval does not
| That just puts 'body' on the window.
Indee, I'm false on that one. But if you use a direct eval, you can get the
same behavior in ES5, which is want I wanted to demonstrate:
window.a = true;
(function x(t) { eval(t); return a==window.a; })(var a=false)
So in plain ES5, the scope of
*Subject:* Is ES5 Strict a fully statically scoped language?
In the talk Changes to JavaScript, Part 1: EcmaScript 5, Mark Miller
states that ES5 Default contains four static scope violations (direct link:
http://www.youtube.com/watch?v=Kq4FpMe6cRst=42m53s). He also states that
ES5 Strict
at compilation if “ooops”
belong the the global scope of from the function’s scope (we can only find
that out at runtime).
*From:* Šime Vidas sime.vi...@gmail.com
*Sent:* Wednesday, October 03, 2012 6:41 PM
*To:* es-discuss@mozilla.org
*Subject:* Is ES5 Strict a fully statically scoped language
*Sent:* Wednesday, October 03, 2012 6:41 PM
*To:* es-discuss@mozilla.org
*Subject:* Is ES5 Strict a fully statically scoped language?
In the talk Changes to JavaScript, Part 1: EcmaScript 5, Mark Miller
states that ES5 Default contains four static scope violations (direct link:
http
On Thu, Oct 4, 2012 at 12:31 AM, Mark S. Miller erig...@google.com wrote:
On Wed, Oct 3, 2012 at 3:16 PM, Šime Vidas sime.vi...@gmail.com wrote:
On Wed, Oct 3, 2012 at 7:05 PM, François REMY
fremycompany_...@yahoo.frwrote:
I think that what he meant is that we know for sure in which
You should eval an initialized var declaration of foo inside the with,
and check foo's value after the with body, for real head-exploding. ;-)
/be
Šime Vidas wrote:
Well, thank you for your excellent video. The dynamic scopes in the
default language are a disaster... I've just written a short
11 matches
Mail list logo