Comments 9
Не так давно на Хабре была статья про числа в js, там сказано, что вещественные хранятся в куче.
Строки только называются "примитивами", по факту это те же объекты, вся начинка в куче.
В тему про сборку мусора и доступность объектов ещё можно добавить, что, во первых, доступность смотрится не только от глобального объекта, а ещё и от ждущих своей очереди тасков в event loop, во вторых, упомянуть о ссылках на объекты в замыканиях, ну и совсем особый кейс URL.createObjectUrl для блобов, который надо освобождать отдельно.
window.users = null;
Разве null — это не объект? users никуда не исчезнет, он останется со значением null. Предыдущее содержимое конечно удалится сборщиком мусора.
Мне кажется, ты хотел написать
delete window.users
В браузере, если ошибиться и использовать var вместо const или let, движок присоединит переменную к объекту window.
Это утверждение весьма странное — не упомянуты области видимости и «всплытие»(hoisting).
Поправьте меня коллеги, если я не прав…
Да, очень.
Если var
не в глобальной области видимости он в globalThis
не станет лезть (IIFE поможет избежать такой глупости).
Большинство новых русских JS экспертов
придумывают страшилки, чтобы дети не использовали var
, вместо того, чтобы показать как каждый тип объявления переменных работает и в каких случаях var
лучше всего себя показывает.
Больше всего я использую const т.к часто в переменной хранится именно ссылка на объект и лишь изредка требуется её перезаписывать
> Они не идеальны, но все же гораздо лучше, чем многие другие
Практически все что написано в статье является вымыслом.
Ничего подобного в реализации JavaScript ни в одном из известных мне RunTime нет. Это какойто набор фантазий в принципе. Откуда это вообще взято и кто это выдумал?
Такое ощущение, что это материал написанный нейронной сетью, на базе анализа сотен статей. Потому что тут свалено в кучу огромное колличество концепций, вроде бы связанных но совершенно не к месту.
Основы управления памятью в JavaScript: как это работает и какие проблемы могут возникнуть