| Tests that evaluation with top-level await may be performed in console. |
| await Promise.resolve(1) |
| 1 |
| {a:await Promise.resolve(1)} |
| {a: 1} |
| $_ |
| {a: 1} |
| let {a,b} = await Promise.resolve({a: 1, b:2}), f = 5; |
| undefined |
| a |
| 1 |
| b |
| 2 |
| let c = await Promise.resolve(2) |
| undefined |
| c |
| 2 |
| let d; |
| undefined |
| d |
| undefined |
| let [i,{abc:{k}}] = [0,{abc:{k:1}}]; |
| undefined |
| i |
| 0 |
| k |
| 1 |
| var l = await Promise.resolve(2); |
| undefined |
| l |
| 2 |
| foo(await koo()); |
| 4 |
| $_ |
| 4 |
| const m = foo(await koo()); |
| undefined |
| m |
| 4 |
| const n = foo(await |
| koo()); |
| undefined |
| n |
| 4 |
| `status: ${(await Promise.resolve({status:200})).status}` |
| "status: 200" |
| for (let i = 0; i < 2; ++i) await i |
| undefined |
| for (let i = 0; i < 2; ++i) { await i } |
| undefined |
| await 0 |
| 0 |
| await 0;function foo(){} |
| undefined |
| foo |
| ƒ foo(){} |
| class Foo{}; await 1; |
| 1 |
| Foo |
| class Foo{} |
| await 0;function* gen(){} |
| undefined |
| for (var i = 0; i < 10; ++i) { await i; } |
| undefined |
| i |
| 10 |
| for (let j = 0; j < 5; ++j) { await j; } |
| undefined |
| j |
| VM:1 Uncaught ReferenceError: j is not defined |
| at <anonymous>:1:1 |
| (anonymous) @ VM:1 |
| gen |
| ƒ* gen(){} |
| await 5; return 42; |
| VM:1 Uncaught SyntaxError: await is only valid in async function |
| let o = await 1, p |
| undefined |
| p |
| undefined |
| let q = 1, s = await 2 |
| undefined |
| s |
| 2 |
| await {...{foo: 42}} |
| {foo: 42} |
| |