Estoy descubriendo el entorno léxico del constructor en clase.
class Func { constructor() {} } En lo que a mí respecta, new Func() llamaría al método interno [[Construct]] que se refiere a Func.prototype.constructor y apunta a Func al final.
El punto es, ¿cuál sería la referencia del entorno léxico externo de este constructor? y ¿cómo va el Contexto de Ejecución en esto?
Por ejemplo, cuando intenta hacer una nueva Promise , un ejemplo comienza así;
const foo = new Promise((resolve, reject) => { setTimeout(() => { resolve('good'); }, 5000); }); new Promise() llama a [[Construct]] en Promise , y va a Promise.prototype.constructor() que es exactamente igual que Promise .
En este momento, ¿el constructor ejecutado se comporta como si fuera llamado desde el alcance global? Es muy vago para mí averiguar quién llama a quién.