Não consigo entender o comportamento de excluir vars em JavaScript

Aqui está o problema:

var x = 5;
window.x === x // true. x, as it seems, is a property of window
delete x; // false
delete window.x; // false;

MAS

window.x = 5;
delete window.x; // true

E

window.x = 5;
delete x; // true

Qual é a explicação para esse comportamento?

questionAnswers(3)

yourAnswerToTheQuestion