Oii, Dev! Tudo bem?
Agradeço por aguardar o nosso retorno.
É importante lembrar que, quando uma variável é declarada dentro de uma função, ela é excluída após a execução da função. Porém, no caso do decorator, a função é executada apenas uma vez, no momento da definição da classe.
Sendo assim, quando a classe é instanciada e o método decorado é chamado, a função do decorator já foi executada e a variável que faz o cache do elemento do DOM já foi definida e está acessível. Por isso, o valor da variável permaneceu acessível entre chamadas da função.
Espero ter ajudado, qualquer dúvida, fico à disposição.
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!