Javascript - O operador +
Operador “+”? O que tem de “mais” nisso - além do próprio operador? Vou te mostrar que esse operador pode te surpreender, dependendo da forma que você o usa. Quer ver? Vem comigo que eu te mostro! :)
Todo mundo que conhece um pouquinho de Javascript, sabe que o operador + serve para ao menos duas coisas: somar números e concatenar strings!
Mas você pode fazer muito mais com ele! Vou te mostrar todos os usos possíveis :)
Somar números
Quando você usa o operador + com dois operandos números, o JS efetua uma soma:
1 | 10 + 10; // 20 |
Executando esse código no console, você tem 20
como resultado.
Tá, e daí? Isso eu já sabia!
Calma que tem mais!
Concatenação
Quando você usa o operador + com dois operandos strings, ou um número e uma string, é feita uma concatenação. O interpretador do JS irá converter o valor que não é string para String
, e fazer a concatenação:
1 | '10' + 10; // "1010" |
Experimente executar os códigos acima no seu console.
Nenhuma novidade ainda :(
Ainda não acabou ;)
Pré e pós incremento
Usando o + como um operador unário, você pode fazer pós ou pré-incremento em valores de variáveis. Vou exemplificar:
1 | var number = 10; |
O que aconteceu acima foi o seguinte: declaramos uma variável number
com o valor 10
. Ao usar o operador de pós-incremento ++
, a variável é avalidada, devolvendo o seu valor atual, e logo após, e feita a atribuição de todo o valor já existente na variável + 1.
Por isso que, chamando number++
, o retorno é 10
, mas na próxima chamada de number
, o valor é 11
.
Podemos fazer també pré-incremento:
1 | var number = 10; |
Usando o operador de pré-incremento ++
, a atribuição é feita primeiro, e então a variável é avaliada. Por isso, na chamada ++number
, o valor retornado já não é o valor inicial de 10
, mas sim 11
.
Lembrando que esses operadores devem ser usados com cautela, pois causam efeito colateral no valor das varáveis, fazendo uma atribuição implícita.
Atribuição abreviada
Além dos operadores de pré e pós incremento, você ainda pode usar o operador de soma com atribuição abreviada, para somar valores diferentes de 1:
1 | var number = 10; |
Faz basicamente o que os exemplos anteriores faziam, com a diferença que você pode escolher o valor que será atribuído, e ainda deixar explícito que uma atribuição está sendo feita ;)
Mas ainda tem mais :D
Conversão de valores para número
Você ainda pode usar o operador + para converter de strings numéricas para números:
1 | typeof '10'; // "string" |
Perceba que, usando o operador +
como unário antes de qualquer string numérica, essa string é convertida para número, e assim você consegue efetuar operações com números normalmente ;)
Usando o operador + dessa forma, tem o mesmo efeito de usar o objeto Number
:
1 | Number('10') + 10; // 20 |
Bom, esses são alguns usos do operador +. Você já conhecia todos? Ficou alguma dúvida? Comente!