Em linguagens interpretadas, um artifício muito comum é a utilização de um operador chamado null safety. A sua função é dar a segurança ao programa de que certo valor, ao ser acessado pelo programa, não será lido com valor nulo ou indefinido. Qual é este símbolo?
- A)| |
Errada: || é o operador lógico de OU, embora possa ser usado para valores padrão em alguns casos, não é o símbolo específico de null safety cobrado aqui.
- B)??
Certa: ?? é o operador de coalescência nula, usado para tratar null ou undefined com um valor alternativo.
- C)!=
Errada: != significa diferente de, sendo um operador de comparação, sem relação direta com proteção contra nulos.
- D)!
Errada: ! costuma indicar negação lógica, e não é o operador de null safety pedido na questão.
- E)%
Errada: % é o operador de módulo/resto, sem função de checagem ou proteção contra valor nulo.
Gabarito: B
Em linguagens interpretadas, especialmente as que trabalham com valores que podem ser nulos ou indefinidos, aparece muito o operador de null safety. A ideia dele é simples: antes de acessar uma propriedade, método ou valor, voce pede uma proteção para evitar que o programa tente ler algo que nem existe direito. É como conferir se a porta está aberta antes de bater nela. Na questão, o símbolo cobrado é o operador de coalescência nula, representado por ??, muito usado em linguagens como JavaScript e C# para fornecer um valor padrão quando a expressão à esquerda é nula ou indefinida. Em vez de deixar o programa quebrar ou seguir com vazio, ele troca por uma alternativa segura. Exemplo mental rápido: se nome ?? "Sem nome", então, se nome vier null/undefined, o resultado será "Sem nome". Isso ajuda a evitar erros clássicos de acesso a valores inexistentes, que são um prato cheio para bugs em aplicações interpretadas. Por isso o gabarito B está correto: ?? é o símbolo associado à proteção contra valores nulos/indefinidos, funcionando como uma segurança extra no fluxo do programa.