Глобальная переменная let 'JavaScript' не является свойством 'window' в отличие от глобальной переменной 'var' [duplicate]
На этот вопрос уже есть ответ здесь:
Позволяют ли операторы создавать свойства глобального объекта? 5 ответовЯ использовал, чтобы проверить, если глобальныйvar
был определен с:
if (window['myvar']==null) ...
или же
if (window.myvar==null) ...
Работает сvar myvar
Теперь, когда я пытаюсь перейти, чтобы позволить, это больше не работает.
var myvar='a';
console.log(window.myvar); // gives me a
let mylet='b';
console.log(window.mylet); // gives me undefined
Вопрос: с глобальнымlet
Есть ли место, где я могу посмотреть, если что-то было определено, как я мог бы сvar
отwindow
объект?
В более общем смысле:
Являетсяvar myvar='a'
эквивалентноwindow.myvar='a'
?
Я слышал, как люди говорят, что на глобальном уровне,let
а такжеvar
ведут себя / ведут себя одинаково, но это не то, что я вижу.