proxy-2.js (502B)
1 // Basic for-of test with Proxy whose iterator method is a generator. 2 3 var arr = ['a', 'b', 'c', 'd']; 4 var proxy = new Proxy(arr, { 5 get(target, property, receiver) { 6 if (property === Symbol.iterator) { 7 return function* () { 8 for (var i = 0; i < arr.length; i++) 9 yield arr[i]; 10 } 11 } 12 13 return Reflect.get(target, property, receiver); 14 } 15 }); 16 17 for (var i = 0; i < 2; i++) 18 assertEq([...proxy].join(","), "a,b,c,d");