Estaba tratando de entender el alcance de la variable en JavaScript. Pero no entendí por qué el código a continuación se comporta de manera diferente al comportamiento esperado.
'use strict'; function C() { console.log(a); } function B() { let a = 'printing A from B()'; C(); } function A() { let a = 'printing A from A()'; B(); } const a = 'printing A from global context'; A(); // output getting: 'printing A from global context': CORRECT B(); // output getting: 'printing A from global context' but expected : 'printing A from B()' C(); // output getting: 'printing A from global context' but expected : 'printing A from A()'La salida es correcta. Las funciones A y B tienen una variable de alcance diferente, pero C no tiene acceso a su alcance, solo al alcance global, que define const a