Cursos / Jogos Digitais / Programação Estruturada / Aula

arrow_back Aula 06 - Operadores JavaScript: Aritmética

Videoaula 03 - Convertendo os números em strings

3/9

Transcrição

É importante lembrar que o símbolo "+" apenas representará a operação aritmética de adição se os dois operandos forem números. Caso um dos operandos seja uma string, o símbolo + será interpretado como a operação de concatenação de string.

No slide, podemos ver que, ao usarmos o símbolo + com os números 100 e 9, temos, de fato, o resultado da soma de ambos os números. No entanto, se usarmos a string "100", teremos, como resultado 1009, independentemente de termos a string "9" ou o número "9" como segundo operando.

É importante também relembrar que a interpretação é feita da esquerda para a direita. Por isso, se usarmos o símbolo + com a string "O valor é" e os números 100 e 9, nesta ordem, não teremos como resultado a string "O valor é 109", como poderíamos, talvez, erroneamente imaginar. Isto porque, como a interpretação é feita da esquerda para a direita, primeiramente o interpretador avaliará a expressão "O valor é " + 100, o que resultará na string "O valor é 100". Só então temos a avaliação da expressão "O valor é 100" + 9.

Novamente, teremos a transformação do 9 em uma string, pois o primeiro operando é uma string e o resultado é "O valor é 1009". Se quisermos de fato que a soma aconteça antes da concatenação, devemos colocar os parênteses em volta da soma, como podemos ver no segundo exemplo do slide. Aí sim, teremos o resultado "O valor é 109".

Da mesma forma, é errado pensar que o resultado da expressão 10 + 20 + "30" é a string "102030". Isto porque, novamente, a interpretação é feita da esquerda para a direita. Assim, primeiramente temos a adição de 10 com 20 e, só depois, a transformação do resultado, 30, em uma string que é concatenada com a outra string "30". O resultado correto é, portanto, a string "3030". Para obter a string "102030", é preciso colocar os parênteses em volta da expressão 20 + "30". Desse modo, primeiro acontecerá a conversão do número 20 para a string "20", que é então concatenada com a string "30", resultando na string "2030". Essa string é então concatenada com a transformação do número 10 em string, resultando na string "102030".

Deixo uma dica pra você: carregue o arquivo 06_4 Numeros para Strings.html para verificar esses comportamentos. Novamente, fique à vontade para fazer alterações no arquivo e teste os diversos comportamentos possíveis.

Código 1 - 06_4 Numeros para Strings.html
HTML
CSS
JS
x
1
<html >
2
    <head>
3
        <meta charset="UTF-8" />
4
        <title>Programação Estruturada - Aula 06</title>
5
    </head>
6
    <body>
7
        <noscript>Seu navegador não suporta JavaScript ou ele está desabilitado.</noscript>
8
9
        <h1>Convertendo números em strings</h1>
10
11
        <p id="texto1"></p>
12
        <p id="texto2"></p>
13
        <p id="texto3"></p>
14
        <p id="texto4"></p>
15
        <p id="texto5"></p>
16
        <p id="texto6"></p>
17
        <p id="texto7"></p>
18
19
        <script>
20
            document.getElementById("texto1").innerHTML = 100 + 9;
21
            document.getElementById("texto2").innerHTML = "100" + "9";
22
            document.getElementById("texto3").innerHTML = "100" + 9;
23
            document.getElementById("texto4").innerHTML = "O valor é " + 100 + 9;
24
            document.getElementById("texto5").innerHTML = "O valor é " + (100 + 9);
25
            document.getElementById("texto6").innerHTML = 10 + 20 + "30";
26
            document.getElementById("texto7").innerHTML = 10 + (20 + "30");
27
        </script>
28
    </body>
29
</html>
30
                
1
1
                
1
1
                

Versão 5.3 - Todos os Direitos reservados