bug1671563.js (439B)
1 // The value of a `var` on entering a function is `undefined`, even if a 2 // default expression uses the same stack slot for something else. 3 4 load(libdir + "asserts.js"); 5 6 function f(a = class C{}) { 7 var x; 8 return x; 9 } 10 assertEq(f(), undefined); 11 12 function* g1(a = class C {}) { 13 var x; 14 assertEq(x, undefined); 15 } 16 g1().next(); 17 18 function* g2(a = class C {}) { 19 x; 20 let x; 21 } 22 assertThrowsInstanceOf(() => g2().next(), ReferenceError);