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

Sintaxe `?` na renderização da lista de restaurantes

Fala comunidade, tudo bem?

Estou chegando nesse curso agora, e não sei se teve um desenvolvimento antes, ou seja, toda a tipagem e desenvolvimento do Alfood... Minha dúvida é a seguinte, qual o efeito da sintaxe ? no trecho de código abaixo:

            {restaurants?.map((item) => (
                <Restaurante restaurante={item} key={item.id} />
            ))}

Eu leria que ele é "opcional", mas de fato, nesse caso, não compreendo a aplicação. Valeeeu!

2 respostas
solução!

Olá Cristian, tudo bem?

A sintaxe ? no trecho de código que você postou é uma forma de verificar se a variável restaurants existe antes de tentar acessá-la. Isso é conhecido como "optional chaining" e é uma funcionalidade introduzida no JavaScript ES2020.

O uso do ? nesse caso evita que ocorra um erro caso a variável restaurants não esteja definida ou seja nula. Se restaurants não existir, a expressão será avaliada como undefined e o método map não será chamado.

Espero ter ajudado e bons estudos!

perfeito professor! oobrigado