Где хранятся значения в JavaScript? - PullRequest
0 голосов
/ 17 апреля 2020

Я слышал, что в JavaScript примитивные типы хранятся в стеке, а объекты - в куче. Это верно для всех случаев, даже для значений внутри области выполнения функции? Кроме того, все ли глобальные переменные и функции в области видимости хранятся в глобальном объекте (окне в браузере) в JavaScript и считается ли это «кучей» или частью кучи? Или сами примитивные типы хранятся в стеке, а ссылочные типы - в куче, а затем идентификаторы добавляются в качестве свойств к глобальным объектам и указывают на эти значения в стеке / куче?

1 Ответ

1 голос
/ 17 апреля 2020

Нет кучи и нет стека. Модель памяти JavaScript очень абстрактна. Как вещи попадают в память вашего компьютера полностью зависит от двигателя. Учитывая, что современные движки выполняют много оптимизаций, значения могут оказаться в разных областях памяти даже на разных стадиях оптимизации, поэтому никто не может сказать.

...