Не могу понять поведение удаления переменных в JavaScript
Вот проблема:
var x = 5;
window.x === x // true. x, as it seems, is a property of window
delete x; // false
delete window.x; // false;
НО
window.x = 5;
delete window.x; // true
А ТАКЖЕ
window.x = 5;
delete x; // true
Чем объясняется такое поведение?