Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Decorator domInject(): E o erro/warning de atribuição da variável elemento no getter?

Na função getter do domInject(), por que elemento não provoca um erro/warning do compilador se essa variável não foi inicializada com nenhum valor, e o compilador está definido como noImplicitAny e e strictNullChecks?

        let elemento : JQuery;
        /**
         * Função getter
         */
        const getter = function() : JQuery {
            if(!elemento) {      // <------------ Não dá warning?
                console.log(`buscando ${seletor} para injetar em ${key}`)
                elemento = $(seletor);
            }
            return elemento;
        }
3 respostas

Fala Marcus, tudo bem? Vamos lá:

noImplicitAny

Ela tem um tipo, que seria JQuery informado durante sua declaração:

let elemento : JQuery;

strictNullChecks

Não da erro porque está sendo verificado se a variável tem valor ou não no if:

if(!elemento)

Espero ter ajudado.

Ah! Entendi, então, if(!elemento) é equivalente a if(!isset(elemento)) do PHP?

solução!

Fala Marcus, basicamente sim, a ideia sobre o funcionamento é a mesma.

Abraços e bons estudos.