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

Duvida Sobre o *ngIf.

Boa Noite, no curso de angular, mais precisamente no video "02 Criando mensagem com ngIf" ele faz o ngIf deste modo: ngIf="!!transferencias" so que fiquei em duvida o que seria essas duas exclamações (!!) antes do transferencias, alguém sabe me dizer o que signififca?

2 respostas
solução!

Fala Rafael,

Foi utilizada a negação dupla (!!), colocando o operador lógico NÃO ( ! ) duas vezes para converter o valor da variável transferencias em seu valor booleano real.

Como transferencias era um atributo da classe AppComponent e havia sido inicializado como um array vazio, seu valor booleano era true.

transferencias: any[] = [];

console.log(!transferencias); //false
console.log(!!transferencias); //true

O primeiro operador ! retorna um valor booleano contrário da variável transferencias e o segundo ! contradiz o resultado e retorna o oposto. É a negação da negação, vamos chamar assim :)

Assim, ao utilizar a negação dupla, o valor de transferencias retornaria true e iria satisfazer a condição do ngIf de só renderizar a tabela caso houvessem transferencias.

E já que transferencias é um array, podemos verificar o seu tamanho e escrever a condição dessa outra forma também:

*ngIf="transferencias?.length > 0"

Espero ter ajudado, bons estudos!

Vinha fazer a mesma pergunta. Por um tempo pensei que era algum Synthatic Sugar esquisito de Angular, mas o Google não ajudou a descobrir.

Obrigado ao Rafael pela pergunta e a Nayanne pela resposta!