Я пытаюсь понять некоторый код:
(function (exports) {
exports.myProperty = "azerty";
console.log(exports)
}((this.myModule = this.myModule || {})));
Что я понял из этого кода:
1) Я выполняю IIFE, и «this» представляет Window (глобальный объект).
2) Поскольку Window не имеет свойства myModule, this.myModule = this.myModule добавляет новое свойство в объект Window, и это свойство не определено.
3)(this.myModule = this.myModule) ||{} возвращает {}, поэтому экспорт равен {} (пустой объект)
4) Я добавляю свойство "myProperty" для объекта экспорта, поэтому export = {myProerty: "azerty"}
Что я не понимаю: после выполнения этого кода, когда я console.log (окно), я вижу, что:
Объект Window имеетсвойство myModule равно объекту экспорта.Как была решена связь между myModule и {myProperty: "azerty"}?Я не могу понять эту часть.