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

Dúvida quanto ao =

Olá amigos ,

Eu entendi que o correto seria ==, pois se refere á igualdade , mas não entendi o porque que varA = varB , a variável A recebe a B , será sempre verdadeiro independente dos números adotados.

4 respostas

Oi Lucas. Como vai?

O operador == é um operador de igualdade. Ele afirma ou verifica que uma coisa é igual a outra.

Já o operador = é de atribuição, ele dá um valor para determinada variável. Quando dizemos que varA = varB, o que nós estamos dizendo é que a varA recebe o valor de varB.

Ficou mais claro agora?

Fico à disposição

Um abraço e bons estudos!

Olá Camila, muitíssimo obrigado !! Vou bem e você ? Consegui compreender o de igualdade, o de atribuição nem tanto, irei colar o código, acho que pode melhorar :

<meta charset="UTF-8">

<script>

    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var quantidadeCarbono1 = parseInt(prompt("Quantidade de carbono substância 1"));
    var quantidadeCarbono2 = parseInt(prompt("Quantidade de carbono substância 2"));

    quantidadeCarbono2 = quantidadeCarbono2 + 2;

    if(quantidadeCarbono1 = quantidadeCarbono2 ) {

        mostra("Acho que são substâncias parecidas");
    } else {

        mostra("São substâncias bem diferentes");
    }
// Contudo, mesmo se ele digitar 1 e depois 8 (valores que não serão iguais no final) é sempre exibida a mensagem "Acho que são substâncias parecidas". Por que isso ocorreu em seu código?
</script>

Ao inserir no prompt 1 o n = 1 , e no prompt 2 o n=8 , na questão ele informa que todas substâncias são parecidas, logo ele tá dando sempre True no IF , isso quer dizer que fazendo a atribuição if(quantidadeCarbono1 = quantidadeCarbono2 Quaisquer valores que forem atribuídos no prompt 1 e 2 , serão possíveis de atribuir , logo true ? Teria alguma forma de dar false ?

solução!

Olá, tudo bem?

Se você considerar = como 'recebe' e == como 'é igual a'* acho que você vai entender mais fácil, veja que dentro do if, como está sendo utilizado somente 1 sinal de igual, a quantidadeCarbono1 está recebendo a quantidadeCarbono2... Quando você quer fazer uma comparação, que é o caso das condicionais, colocando dois sinais de igual, será retornado true/false.. se colocar apenas um, vc estará apenas igualando as variáveis.

Basicamente, se você tem intenção de fazer uma comparação, são dois sinais de igual, caso queira fazer uma atribuição, é um só.

Espero ter ajudado!

Obrigado !!!