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

Dúvida com relação ao Operador ternário

Tem um trecho do código que é utilizado o operador ternário dentro de uma atribuição de id

    else {
        itemAtual.id = itens[itens.length - 1] ? (itens[itens.length-1]).id +1 : 0;
    }

Não consegui entender direito o o itens[itens.length -1]? essa seria a condicional? Ele checa se existe um comprimento na lista do objetos? é isso?

2 respostas
solução!

Olá Anna, tudo bem ?

O operador ternário é uma forma mais concisa de utilizarmos os if e else, geralmente aplicamos essa técnica quando queremos fazer uma verificação simples, ele faz exatamente o mesmo papel do if/else em bloco. Como por exemplo: ( Condição ) ? "caso verdadeiro" : "caso falso"

Aqui temos um exemplo de códigos que fazem exatamente a mesma coisa porém de formas diferentes:

Operador em bloco

if (itens[itens.length - 1]){
    itemAtual.id = itens[itens.length-1];
} else {
    itemAtual.id = 0;
}

Operador ternário

itemAtual.id = itens[itens.length - 1] ? (itens[itens.length-1]).id +1 : 0;

No caso deste código nós estamos verificando se o array não existe, se não tem nada, o Id que eu quero dar para o elemento é o Id 0, essa é a minha condição final. Se não existir nada no array o Id vira 0, agora se já tiver alguma coisa no Id eu quero achar no último elemento o Id e aí sim, eu quero adicionar 1 a ele.

Para consolidar mais seus conhecimentos, deixo aqui um artigo falando sobre operadores ternários:

Se restou qualquer dúvida, estarei à disposição.

Forte abraço e bons estudos!!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Consegui compreender direitinho e o artigo ajudou ainda mais. Muito obrigada pela resposta!