Article image
Valdir Alves
Valdir Alves18/04/2023 19:31
Compartilhe

Como assim, Subtração de String?

  • #JavaScript

Quando trabalhamos com valores em JavaScript, é importante entender que existem dois tipos principais de dados: strings e números. Enquanto as strings são usadas para armazenar texto, os números são usados para armazenar valores numéricos, como inteiros e decimais.

Quando aplicamos operações em valores, precisamos estar cientes das diferenças entre esses tipos de dados. Por exemplo, se tentarmos somar um número com uma string, o JavaScript tratará o número como uma string e concatenará os dois valores em vez de somá-los.

Isso é conhecido como concatenação de strings.

Por exemplo, se tivermos a seguinte expressão em JavaScript:

const x = 10 + "10";

O valor da variável x será "1010", em vez de 20, que seria o resultado se tivéssemos somado dois números. Isso ocorre porque o valor "10" é tratado como uma string e concatenado com o número 10.

Já quando aplicamos a operação de subtração em números, a conversão para string não ocorre. Se tivermos a seguinte expressão:

const y = 10 - "10";

O valor da variável y será 0, que é o resultado da subtração do número 10 pelo número 10.

Isso ocorre porque o JavaScript entende que ambos os operandos são numéricos e realiza a subtração normalmente.

É importante lembrar que, em JavaScript, o operador de soma (+) é usado tanto para a concatenação de strings quanto para a adição de números. Por outro lado, o operador de subtração (-) é usado apenas para a subtração de números.

Em resumo, a diferença entre a concatenação de strings e a subtração de números em JavaScript é que, na concatenação de strings, o valor numérico é convertido em string e concatenado com a outra string, enquanto na subtração de números, a conversão para string não ocorre e a subtração é realizada normalmente.

Mais detalhes na FORMAÇÃO JAVASCRIPT DEVELOPER

Compartilhe
Comentários (1)
Giancarlo Rodrigues
Giancarlo Rodrigues - 18/04/2023 20:16

Isso ocorre com os outros operadores aritméticos tbm, amigo.

E tem uma lógica: se vc usa um operador aritmético numa expressão que não tem outra opção se não aquela a que o operador se destina, ele a realiza, mesmo que um dos operandos seja uma string. Ele simplesmente a converte para number e realiza a operação.

Por exemplo: quando vc faz 3 * '3' não tem outra opção se não multiplicar um número pelo outro, já que não existe multiplicação com strings.

Já com o operador de adição é diferente pq existe a concatenação e a soma. Então ele por padrão escolhe a concatenação.


Mas é isso aí.. Era apenas um complemento.. :)