
Que nasceu no processo de estudar os pesadelos do LexicalEnvironment e o programa geralmente educacional sobre o tema "Por que funciona assim?"
A tarefa realmente veio da série wtfjs, mas após uma análise cuidadosa, ela se encaixa completamente na lógica da linguagem.
Então, direto ao ponto:
Existe um módulo module.js
:
É chamado do arquivo index.js:
Na verdade, a pergunta é: o que será exibido no console?
A resposta é: ============================ m1Obj.a: | 10 m1Obj.getterA: | 12 m1Obj.x: | 23 m1Obj.getA: | 10 m1Obj.getArrowA: | 5 m1Obj.rndA: | 12 111 m1Obj.getRndA: | 12 111 ============================ m2Obj.a: | 10 m2Obj.getterA: | 12 m2Obj.x: | 23 m2Obj.getA: | 10 m2Obj.getArrowA: | 5 m2Obj.rndA: | 12 111 m2Obj.getRndA: | 12 111 ============================ a: | 5 ============================