Para programar, iniciamos pela declaração e depois pela atribuição de valor a uma variavel.
undefined é uma excessão caracterizada pela tentativa de uso de uma variável sem declaração.
Null é o conteúdo ou valor para uma variavel sem valor atribuído.
As duas situações são resolvidas com uma programação disciplinada, independente da linguagem.
Em resposta a Qual a diferença entre "NULL" e "UNDEFINED"?
1
1
undefined é uma excessão caracterizada pela tentativa de uso de uma variável sem declaração.
Acredito que não seja o caso de variável sem declaração, mas sim sem atribuição de valor.
let a
// nesse momento, a variável existe, mas não há valor atribuído a ela