Quiero entender por qué las variables ya se eliminaron, incluso si parece que las declaro más tarde.
const main = (function functio(params) { console.log(2); console.log(1); function fun() { button.addEventListener('click', () => { console.log(input.value); }); } const input = document.querySelector('input'); const button = document.querySelector('button'); return (Object.freeze || Object)({ init: function (data) { fun(); }, load: function (data) {}, }); })(); main.init();