2
respostas

[Dúvida] Null Safety fora das variáveis locais

Mais uma coisa que achei estranho na linguagem Dart foi essa questão de testar o Null Safety que está fora das variáveis locais. DÚVIDA: por que não fazer assim?

if (myAccount.createdAt.day != null) { print(myAccount.createdAt.day); }

2 respostas

Nesse caso, quando abordado durante a aula, quem pode ser nulo é o createdAt, e não a propriedade "day" de "DateTime" em si. Logo, a forma mais apropriada seria fazer: "if(myAccount.createdAt != null) print(myAccount.createdAt!.day);" Mas ainda seria necessário colocar o '!' (Bang), pois, dentro da classe, não podemos garantir, ou pelo menos o Dart Analyzer não pode garantir, que algo tenha acontecido que possa ter deixado o createdAt nulo novamente.

Olá Ramiro Noronha Reis Ribeiro, tudo bem? Obrigado por responder! Para mim, este é um ponto complexo, mas ainda irei me dedicar a isso para dominar esse assunto.