Efeito de variáveis ​​declaradas e não declaradas

Qual é a principal diferença entre as variáveis ​​declaradas e não declaradas do JavaScript, uma vez que o operador delete não funciona nas variáveis ​​declaradas?

 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) 

Por que isso acontece? Variáveis ​​declaradas globalmente são também as propriedades do objeto window, então por que não pode ser deletado?

questionAnswers(4)

yourAnswerToTheQuestion