You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/08-operators/article.md
+17-17
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Neste capítulo, nós começaremos com operadores simples, e então nos concentr
6
6
7
7
## Termos: "unário", "binário", "operando"
8
8
9
-
Antes de prosseguirmos, vamos entender um pouco sobre terminologia comum.
9
+
Antes de prosseguirmos, vamos entender um pouco a terminologia comum.
10
10
11
11
-*Um operando* -- é aquilo sobre o que os operadores são aplicados. Por exemplo, na multiplicação de `5 * 2` existem dois operandos: o operando da esquerda é `5` e o operando da direita é `2`. Às vezes, as pessoas chamam estes de "argumentos" ao invés de "operandos".
12
12
- Um operador é "unário" se este tiver um único operando. Por exemplo, a negação unária `-` inverte o sinal de um número:
@@ -113,7 +113,7 @@ Aqui, os operadores atuam um após o outro. O primeiro `+` soma dois números, r
113
113
```js run
114
114
alert('1' + 2 + 2); // "122" e não "14"
115
115
```
116
-
Aqui o primeiro operando é uma string, com o compilador tratando os outros dois operandos também como strings. O`2` é concatenado ao `'1'`, ficando `'1' + 2 = "12"` e `"12" + 2 = "122"`.
116
+
Aqui como o primeiro operando é uma string, o compilador trata os outros dois operandos também como strings. O`2` é concatenado ao `'1'`, ficando `'1' + 2 = "12"` e `"12" + 2 = "122"`.
117
117
118
118
O binário `+` é o único operador que suporta strings desta forma. Outros operadores aritméticos funcionam apenas com números e sempre convertem seus operandos em números.
119
119
@@ -147,7 +147,7 @@ alert( +"" ); // 0
147
147
*/!*
148
148
```
149
149
150
-
Isto, na verdade, faz a mesma coisa que `Number(...)`, mas de maneira mais curta.
150
+
Ele, na verdade, faz a mesma coisa que `Number(...)`, mas de uma maneira mais curta.
151
151
152
152
A necessidade de converter strings em números surge com frequência. Por exemplo, se nós estivermos pegando valores de campos de formulário HTML, eles são normalmente strings. E se nós quisermos somá-los?
153
153
@@ -157,7 +157,7 @@ O positivo binário os adicionaria como strings:
157
157
let apples = "2";
158
158
let oranges = "3";
159
159
160
-
alert( apples + oranges ); // "23", o binário positivo concatena strings
160
+
alert( apples + oranges ); // "23", o positivo binário concatena strings
161
161
```
162
162
163
163
Se nós quisermos tratá-los como números, nós precisamos convertê-los e então somá-los:
@@ -167,7 +167,7 @@ let apples = "2";
167
167
let oranges = "3";
168
168
169
169
*!*
170
-
// ambos os valores convertidos para números antes do binário positivo
170
+
// ambos os valores são convertidos para números antes do positivo binário
171
171
alert( +apples + +oranges ); // 5
172
172
*/!*
173
173
@@ -185,7 +185,7 @@ Se uma expressão tem mais do que um operador, a ordem de execução é definida
185
185
186
186
Todos sabemos da escola que a multiplicação na expressão `1 + 2 * 2` deve ser calculada antes da adição. Esta é exatamente a coisa da precedência. É dito que a multiplicação tem *uma precedência maior*do que a adição.
187
187
188
-
Os parênteses sobrepõem qualquer precedência, então se nós não estivermos satisfeitos com a ordem padrão, nós podemos usá-los para mudar isto. Por exemplo, escrever`(1 + 2) * 2`.
188
+
Os parênteses sobrepõem qualquer precedência, então se nós não estivermos satisfeitos com a ordem padrão, nós podemos usá-los para mudar isto. Por exemplo, escrevendo`(1 + 2) * 2`.
189
189
190
190
Existem muitos operadores em JavaScript. Todo operador tem um número de precedência correspondente. Aquele com maior número é executado primeiro. Se a precedência for a mesma, a ordem de execução é da esquerda para a direita.
191
191
@@ -221,7 +221,7 @@ alert( x ); // 5
221
221
222
222
### Atribuição = retorna um valor
223
223
224
-
O fato de `=` ser um operador, não um construto "mágico" da linguagem tem uma implicação interessante.
224
+
O fato de `=` ser um operador, não uma construção "mágica" da linguagem tem uma implicação interessante.
225
225
226
226
Todos os operadores em JavaScript retornam um valor. Isto é óbvio para `+` e `-`, mas também é verdadeiro para `=`.
227
227
@@ -241,7 +241,7 @@ alert( a ); // 3
241
241
alert( c ); // 0
242
242
```
243
243
244
-
No exemplo acima, o resultado da expressão `(a = b + 1)` é o valor atribuído à `a` (isto é, `3`). Este é então usado para avaliações adicionais.
244
+
No exemplo acima, o resultado da expressão `(a = b + 1)` é o valor atribuído à `a` (isto é, `3`). Este é depois usado em avaliações adicionais.
245
245
246
246
Código engraçado, não é?Nós devemos entender como ele funciona, porque às vezes nós o vemos em bibliotecas JavaScript.
247
247
@@ -296,7 +296,7 @@ n *= 2; // agora n = 14 (o mesmo que n = n * 2)
296
296
alert( n ); // 14
297
297
```
298
298
299
-
Operadores curtos "modificar-e-atribuir" existem para todos os operadores aritméticos e bit a bit:`/=`, `-=`, etc.
299
+
Operadores "modificar-e-atribuir"curtos existem para todos os operadores aritméticos e também bit a bit:`/=`, `-=`, etc.
300
300
301
301
Tais operadores têm a mesma precedência que uma atribuição normal, de modo que eles são executados após a maioria dos outros cálculos:
302
302
@@ -310,9 +310,9 @@ alert( n ); // 16
310
310
311
311
## Incremento/decremento
312
312
313
-
<!--Não se pode usar -- no título, porque o built-in parser converte isto num 'traço longo' –-->
313
+
<!--Não se pode usar '--' no título, porque o interpretador de Markdown converte isto num único 'traço longo':'–'-->
314
314
315
-
Aumentar ou diminuir um número por um está entre as operações numéricas mais comuns.
315
+
Aumentar ou diminuir um número por 1 está entre as operações numéricas mais comuns.
316
316
317
317
Portanto, existem operadores especiais para isto:
318
318
@@ -335,14 +335,14 @@ Portanto, existem operadores especiais para isto:
335
335
Incremento/decremento só pode ser aplicado a variáveis. Tentar usar isto num valor como `5++` resultará em erro.
336
336
```
337
337
338
-
Os operadores `++` e `--` podem ser escritos antes ou depois de uma variável.
338
+
Os operadores `++` e `--` podem ser colocados antes ou depois de uma variável.
339
339
340
340
- Quando o operador aparece depois da variável, ele está numa "forma pós-fixa":`counter++`.
341
341
-A"forma prefixa" é quando o operador aparece antes da variável:`++counter`.
342
342
343
343
Ambas as declarações fazem a mesma coisa: aumentam o `counter` em `1`.
344
344
345
-
Existe alguma diferença? Sim, mas só podemos vê-la se usarmos o valor retornado de`++/--`.
345
+
Existe alguma diferença? Sim, mas só podemos vê-la se usarmos o valor retornado da operação`++/--`.
346
346
347
347
Vamos esclarecer. Como sabemos, todos os operadores retornam um valor. Incremento/decremento não é exceção. A forma prefixa retorna o novo valor enquanto que a forma pós-fixa retorna o valor antigo (anterior ao incremento/decremento).
348
348
@@ -408,7 +408,7 @@ let counter = 1;
408
408
alert( 2 * counter++ ); // 2, pois counter++ retorna o valor "antigo"
409
409
```
410
410
411
-
Embora tecnicamente correta, tal notação normalmente torna o código menos legível. Uma linha faz várias coisas -- nada bom.
411
+
Embora tecnicamente correta, tal notação normalmente torna o código menos legível. Numa linha faz-se várias coisas -- nada bom.
412
412
413
413
Ao ler um código, uma rápida olhada "vertical" pode facilmente deixar passar algo como `counter++` e não será óbvio que a variável aumentou.
414
414
@@ -437,7 +437,7 @@ A lista de operadores:
437
437
-RIGHTSHIFT ( `>>` )
438
438
-ZERO-FILLRIGHTSHIFT ( `>>>` )
439
439
440
-
Estes operadores são muito raramente usados, quando nós precisamos mexer com números no nível mais baixo (bit a bit). Nós não precisaremos destes operadores em nenhum momento, já que desenvolvimento web faz pouco uso deles, mas em algumas áreas específicas, como em criptografia, eles são úteis. Você pode ler o capítulo [Operadores bit a bit](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide/Expressions_and_Operators#operadores_bit_a_bit) na MDN quando surgir a necessidade.
440
+
Estes operadores são muito raramente usados, e acontece quando nós precisamos mexer com números no nível mais baixo (bit a bit). Nós não precisaremos destes operadores tão cedo, já que desenvolvimento web faz pouco uso deles, mas em algumas áreas específicas, como em criptografia, eles são úteis. Você pode ler o capítulo [Operadores bit a bit](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide/Expressions_and_Operators#operadores_bit_a_bit) na MDN quando surgir a necessidade.
441
441
442
442
## Vírgula
443
443
@@ -465,7 +465,7 @@ Sem eles: `a = 1 + 2, 3 + 4` avalia `+` primeiro, somando os números e resultan
465
465
466
466
Por que precisamos de um operador que descarta tudo exceto a última expressão?
467
467
468
-
Às vezes, as pessoas o usam e construtos mais complexos para pôr várias ações em uma linha.
468
+
Às vezes, as pessoas o usam em construções mais complexas para pôr várias ações em uma linha.
469
469
470
470
Por exemplo:
471
471
@@ -476,4 +476,4 @@ for (*!*a = 1, b = 3, c = a * b*/!*; a < 10; a++) {
476
476
}
477
477
```
478
478
479
-
Tais truques são usados em muitos frameworks JavaScript. É por isto que nós os estamos mencionando. Mas geralmente eles não melhoram a legibilidade do código de modo que nós precisamos pensar bem antes de usá-los.
479
+
Tais truques são usados em muitos frameworks JavaScript. É por isto que nós os estamos mencionando. Mas geralmente eles não melhoram a legibilidade do código, de modo que nós precisamos pensar bem antes de usá-los.
0 commit comments