Source code

Revision control

Copy as Markdown

Other Tools

// arrow functions are not implicitly strict-mode code
load(libdir + "asserts.js");
var f = a => { with (a) return f(); };
assertEq(f({f: () => 7}), 7);
f = a => function () { with (a) return f(); };
assertEq(f({f: () => 7})(), 7);
f = (a = {x: 1, x: 2}) => b => { "use strict"; return a.x; };
assertEq(f()(0), 2);