Два изолированных контекста исполнения работают параллельно и обмениваются данными через управляемый событийный канал. Память исполнения при этом остаётся раздельной.
postMessage не ограничен iframe.
Сообщения могут передаваться и между окнами,
открытыми через window.open,
при этом форма взаимодействия остаётся той же:
данные доставляются как события,
без прямого доступа к памяти другого контекста.