function f() { g(async function() { c(() => this); }); } (async function () { console.log('async wrapper:', this === 'foo') ;(() => { console.log('nested arrow:', this === 'foo') })() }).call('foo')