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

Operador Ternário , olha que curioso!

Oie, Achei super curioso que dessa forma aqui oh, funcionou:

let notas = [10, 9, 8, 7, 6];

let notasAtualizadas = notas.map(nota => nota > 10 ? nota : nota += 1);
console.log(notasAtualizadas);

Ou seja, não foi preciso colocar ++nota , simplesmente especifiquei nota+=1 e funcionou. Mas o estranho é que essa expressão equivale a nota++ que não funcionou. No mínimo curioso!

Aguardo esclarecimentos kkkkkkkkk.... Obrigada!

6 respostas

Qual a diferença entre pré e pós incremento em Javascript?

  • ++indice vai incrementar o valor de indice e me retornar o valor já incrementado.

  • indice++ vai me retornar o valor de indice no momento em que é chamado e depois incrementar esse valor.

O fato do operador de incremento ser colocado antes ou depois da variável não altera o efeito da operação. O valor da variável é incrementada ou decrementada de um.

A diferença entre os dois casos é QUANDO a variável é incrementada.

Na expressão indice++ o valor de i é primeiro usado e então é incrementada, isto é chamado pós-incremento.

Na expressão ++indice o i é incrementado primeiro, e então o valor (o novo valor) de i é usado - isso é chamado pré-incremento.

hummm. entendo ! Mas acho q talvez vc nao tenha compreendido minha dúvida ou eu não entendi sua resposta para o caso em questão.

Oi Nayana, tudo bem?

Então, o operador de atribuição composto que você usou(+=), é o mesmo que você usar x = x + 1. Nesse caso você esta efetuando um calculo e inserindo o novo valor na váriavel, por isso ele já vai estar mostrando o valor atualizado. no caso do x++, você primeiro está mostrando a váriavel para depois incrementa-la e por isso o valor não é atualizado "diretamente". o ++x vai primeiro incrementar o valor e quando for mostrar a váriavel ela já vai estar com o valor atualizado.

Espero ter te ajudado, abraço.

Obg Gabriel . Mas a questão q apontei foi essa . Funcionou com um desses e não com o outro, sendo q os dois equivale dizer a mesma coisa.

solução!

Tudo bem Nayana? No caso a mudança é na ordem de execução, quando usamos o x++ acessamos o valor da variável para a nossa conta e depois incrementamos ele, quando usamos o ++x incrementamos o valor e depois usamos para a nossa conta, quando temos uma equação como x += 1 resolvemos o valor da equação e depois usamos ele, então ++x tem o mesmo processo que x += 1. Vamos supor que x seja igual a 5 então ao usarmos essas sintaxes temos:

x++++xx += 1
usa 5 para a containcrementa 5 para 6x = 5 + 1 ou seja 6
incrementa 5 para 6usa 6 para a contausa 6 para a conta

Sendo assim ++x tem o mesma ordem de execução que x += 1, então podem ser trocados a vontade, como é possível usar qualquer um deles, é recomendado usar o que vai te causar menos problemas e deixar o código mais fácil de ler, então pode ficar a vontade na hora de escolher.

Espero ter ajudado, continue se esforçando e bons estudos

Fala sério né! Você e a Juliana Amoasei formam uma dupla de instrutores sem comparação ! Parabéns mesmo! Espero encontrá-los juntos por muito mais cursos! Esse aqui ficou excelente!

Eu não sei se meus colegas quiseram dizer extamente isso , mas o fato é q não compreendi da forma que compreendi agora. Peço até desculpas se foi o caso. Entendi perfeitamente. Obrigada Leonardo. Essa resposta merece até um Ctrl c Ctrl v. kkkkk....