В чем основное отличие объявленных и необъявленных переменных JavaScript, поскольку оператор удаления не работает с объявленными переменными?
var y = 43; // declares a new variable
x = 42;
delete x; // returns true (x is a property of the global object and can be deleted)
delete y; // returns false (delete doesn't affect variable names)
Почему это происходит? Переменные, объявленные глобально, также являются свойствами объекта window, поэтому почему его нельзя удалить?