Estoy luchando con esto y no he encontrado nada concluyente al respecto.
¿Cómo puedo llamar a la función y() dentro de la función z() sin alterar la estructura del código?
Intenté usar esto pero no funcionó.
function x(){ function y(){ console.log("sal y") } function z(){ console.log("sal z"); y() } }Su código dentro de z llama a y de la manera correcta; ese no es el problema. La razón por la que no ve la salida en su fragmento es que nunca está llamando a la función z . Si edito la función x para llamar a z y edito el nivel superior para llamar a la función x , funciona.
function x() { function y() { console.log("sal y"); } function z() { console.log("sal z"); y(); } z(); // added } x(); // added