JavaScript: переменная без директивы
объясняем что получится, если создать объект, не объявляя переменную, в JavaScript

Давайте разберемся, что получится, если присвоить переменной значение, забыв предварительно ёё объявить с помощью одной из директив: let
, var
или const
?
Например:
myObject = {};
console.log(myObject);
Если оздается пустой объект в глобальном объекте. интерпретатор JS видит:
в Node.js
global.myObject = {}
в браузерах
window.myObject = {}
frames.myObject = {}
self.myObject = {}
в веб-воркерах
self.myObject = {}
во всех окружениях
globalThis.myObject = {}
Результат в консоли:
{} // пустой объект
Чтобы избежать такого поведения нужно использовать “use strict”. Эта запись поможет быть уверенным в том, что переменная была определена перед тем как ей присвоили значение.
Спасибо за внимание.