А, короче почитал про delete на mdn, там упомянуто и про создание переменной vs. свойста глобального объекта:
«delete эффективен только применительно к свойствам объектов. Он не оказывает никакого влияния на имена переменных и функций.
Присвоение значения свойству без указания объекта (без оператора var) иногда неверно характеризуется, как глобальная переменная, (например x = 5). На самом деле происходит присвоение значения свойству глобального объекта.»
x = 42; // создает свойство x в глобальном объекте
var y = 43; // объявляет новую переменную, y
delete x; // возвращает true (x - свойство глобального объекта и может быть удалено)
delete y; // возвращает false (delete не влияет на имена переменных)
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/delete#Description