This question has already been answered:
Everywhere it is explicitly described that, unlike var - let/const have a block area of visibility, but have encountered such a problem, I wonder what is connected with:
let App = App || {}; App.init = function() { console.log('Inited'); } App.init(); // Uncaught ReferenceError: App is not defined (с const то же самое) var App = App || {}; App.init = function() { console.log('Inited'); } App.init(); // 'Inited'