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