Каждый вызов функции будет создавать новый блок (поскольку javascript является интерпретируемым языком и запускает код построчно, поэтому каждый вызов функции будет создавать локальный контекст выполнения именно там, где функция вызывается) в памяти (последний будет удален на этапе сборки мусора) , поэтому каждый экземпляр const newTab
отделен от предыдущего. Может показаться, что он должен выдать ошибку из-за характера определения элемента const
, но поскольку последний элемент удален, а новый находится в новом блоке памяти, это не вызовет никаких ошибок.
ПРИМЕЧАНИЕ: Эта статья и это видео могут помочь вам узнать больше о локальном контексте выполнения.