Skip to content

В глобальной переменной dom хранятся не все переменные скрипта #34

Description

@melogo5

В глобальной переменной dom хранятся только глобальные переменные, такие как: var и function
Хотелось бы увидеть там и локальные переменные, такие как const и let

Пример кода с функцией и локальной переменной. Переменные name и sayHello в dom объявлены НЕ БУДУТ

const name = 'Gleb'
const sayHello = (anyName) => {
	console.log("Hello world, " + anyName);
}

sayHello(name)

Пример кода с функцией и глобальной переменной const. Переменные name и sayHello в dom БУДУТ объявлены

var name = 'Gleb'
function sayHello(anyName) {
	console.log("Hello world, " + anyName);
}

sayHello(name)

Для проверки ввести в консоли:
document.querySelector("#output__iframe").contentWindow.sayHello
document.querySelector("#output__iframe").contentWindow.name

Я в целом поресерчил этот вопрос:
Ну уровне движка локальные переменные добавляются еще и в globalThis объект, из-за этого мы и имеем к ним доступ. Если получится на на момент выполнения скрипта добавлять их еще и в globalThis, то это заработает

Image
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let#temporal_dead_zone_tdz

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions