// Expression body.
Reflect.parse("async a => a == b");
// Expression body with nested async function.
Reflect.parse("async a => async");
Reflect.parse("async a => async b => c");
Reflect.parse("async a => async function() {}");
Reflect.parse("async a => async function b() {}");
assertThrowsInstanceOf(() => Reflect.parse("async a => async b"), SyntaxError);
assertThrowsInstanceOf(() => Reflect.parse("async a => async function"), SyntaxError);
assertThrowsInstanceOf(() => Reflect.parse("async a => async function()"), SyntaxError);
// Expression body with `await`.
Reflect.parse("async a => await 1");
Reflect.parse("async a => await await 1");
Reflect.parse("async a => await await await 1");
assertThrowsInstanceOf(() => Reflect.parse("async a => await"), SyntaxError);
assertThrowsInstanceOf(() => Reflect.parse("async a => await await"), SyntaxError);
// `await` is Unary Expression and it cannot have `async` function as an // operand.
assertThrowsInstanceOf(() => Reflect.parse("async a => await async X => Y"), SyntaxError);
Reflect.parse("async a => await (async X => Y)"); // But it can have `async` identifier as an operand.
Reflect.parse("async async => await async");
// Block body.
Reflect.parse("async X => {yield}");
// `yield` handling.
Reflect.parse("async X => yield");
Reflect.parse("async yield => X");
Reflect.parse("async yield => yield");
Reflect.parse("async X => {yield}");
Reflect.parse("async X => {yield}");
Reflect.parse("async yield => {X}");
Reflect.parse("async yield => {yield}");
Reflect.parse("function* g() { async X => yield }");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.