Skip to content

Commit f47c354

Browse files
committed
refactor: corrects notes recorded in the merge request
1 parent 5ae27f7 commit f47c354

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

1-js/02-first-steps/09-comparison/article.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Comparisons
1+
# Comparações
22

33
Conhecemos muitos operadores de comparação de matemática:
44

55
Em JavaScript eles são escritos assim:
66

77
- Maior/menor que: <code>a &gt; b</code>, <code>a &lt; b</code>.
88
- Maior/menor ou igual: <code>a &gt;= b</code>, <code>a &lt;= b</code>.
9-
- Equals: `a == b`, observe o sinal de igualdade duplo `==` significa o teste de igualdade, enquanto um único `a = b` significa uma atribuição.
9+
- Igual: `a == b`, observe o sinal de igualdade duplo `==` significa o teste de igualdade, enquanto um único `a = b` significa uma atribuição.
1010
- Diferente: Em matemática a notação é <code>&ne;</code>, mas em JavaScript é escrita como <code>a != b</code>.
1111

1212
Neste artigo vamos aprender mais sobre diferentes tipos de comparações, como o JavaScript as processa, incluindo peculiaridades importantes.
@@ -17,18 +17,18 @@ No final, você encontrará uma boa receita para evitar problemas relacionados a
1717

1818
Todos os operadores de comparação retornam um valor booleano:
1919

20-
- `true` -- significa "sim", "correto" ou "verdade".
20+
- `true` -- significa "sim", "correto" ou "verdadeiro".
2121
- `false` -- significa "não", "errado" ou "falso".
2222

2323
Por exemplo:
2424

2525
```js run
26-
alert( 2 > 1 ); // true (correto)
27-
alert( 2 == 1 ); // false (errado)
28-
alert( 2 != 1 ); // true (correto)
26+
alert( 2 > 1 ); // true (verdadeiro)
27+
alert( 2 == 1 ); // false (falso)
28+
alert( 2 != 1 ); // true (verdadeiro)
2929
```
3030

31-
Um resultado de comparação pode ser atribuído a uma variável, assim como qualquer valor:
31+
Um resultado de comparação pode ser atribuído a uma variável, exatamente como qualquer valor:
3232

3333
```js run
3434
let result = 5 > 4; // atribui o resultado da comparação
@@ -37,7 +37,7 @@ alert( result ); // true
3737

3838
## Comparação de strings
3939

40-
Para ver se uma string é maior que outra, o JavaScript usa o chamado ordem "dicionário" ou "lexicográfico".
40+
Para ver se uma string é maior que outra, o JavaScript usa a chamado ordem "dicionário" ou "lexicográfica".
4141

4242
Em outras palavras, as strings são comparadas letra a letra.
4343

@@ -71,15 +71,15 @@ O algoritmo de comparação fornecido acima é aproximadamente equivalente ao us
7171
Por exemplo, um caso relevante. Uma letra maiúscula `"A"` não é igual à letra minúscula `"a"`. Qual é maior? A letra minúscula `"a"`. Por quê? Porque o caractere minúsculo tem um índice maior na tabela de codificação interna que o JavaScript usa (Unicode). Voltaremos a detalhes específicos e consequências disso no capítulo <info:string>.
7272
```
7373

74-
## Comparison of different types
74+
## Comparação de diferentes tipos
7575

76-
Quando comparamos valores de tipos diferentes, o JavaScript converte os valores em números.
76+
Quando é comparado valores de tipos diferentes, o JavaScript converte os valores em números.
7777

7878
Por exemplo:
7979

8080
```js run
81-
alert( '2' > 1 ); // true, string '2' se torna um número 2
82-
alert( '01' == 1 ); // true, string '01' se torna um número 1
81+
alert( '2' > 1 ); // true, string '2' se torna no número 2
82+
alert( '01' == 1 ); // true, string '01' se torna no número 1
8383
```
8484

8585
Para valores booleanos, `true` torna-se `1` e `false` torna-se `0`.
@@ -109,12 +109,12 @@ alert( Boolean(b) ); // true
109109
alert(a == b); // true!
110110
```
111111
112-
Do ponto de vista do JavaScript, esse resultado é bastante normal. Uma verificação de igualdade converte valores usando a conversão numérica (portanto, `"0"` se torna `0`), enquanto a conversão explícita `booleana` usa outro conjunto de regras.
112+
Do ponto de vista do JavaScript, esse resultado é bastante normal. Uma verificação de igualdade converte valores usando a conversão numérica (portanto, `"0"` se torna `0`), enquanto a conversão `Boolean` explícita usa outro conjunto de regras.
113113
````
114114

115115
## Igualdade estrita
116116

117-
Uma verificação de igualdade regular `==` tem um problema. Ele não pode diferenciar `0` de `false`:
117+
Uma verificação de igualdade regular `==` tem um problema. Ela não pode diferenciar `0` de `false`:
118118

119119
```js run
120120
alert( 0 == false ); // true
@@ -130,7 +130,7 @@ Isso acontece porque operandos de tipos diferentes são convertidos em números
130130

131131
O que fazer se quisermos diferenciar `0` de `false`?
132132

133-
**Um operador de igualdade estrito `===` verifica a igualdade sem conversão de tipo.**
133+
**Um operador de igualdade estrita `===` verifica a igualdade sem conversão de tipo.**
134134

135135
Em outras palavras, se `a` e `b` forem de tipos diferentes, então `a === b` retornará imediatamente `false` sem tentar convertê-los.
136136

@@ -140,7 +140,7 @@ Vamos tentar:
140140
alert( 0 === false ); // false, porque os tipos são diferentes
141141
```
142142

143-
Há também um operador de "não igualdade estrita" `!==` análogo a `!=`.
143+
Há também um operador de "desigualdade estrita" `!==` análogo a `!=`.
144144

145145
O operador de igualdade estrita é um pouco mais longo para escrever, mas torna óbvio o que está acontecendo e deixa menos espaço para erros.
146146

@@ -156,7 +156,7 @@ Para uma verificação de igualdade estrita `===`
156156
```
157157

158158
Para uma verificação não estrita `==`
159-
: Há uma regra especial. Esses dois são um "casal doce": eles se igualam (no sentido de `==`), mas não qualquer outro valor.
159+
: Há uma regra especial. Esses dois são um "casal doce": eles se igualam (no sentido de `==`), mas não a qualquer outro valor.
160160

161161
```js run
162162
alert( null == undefined ); // true
@@ -165,11 +165,11 @@ Para uma verificação não estrita `==`
165165
Para matemática e outras comparações `< > <= >=`
166166
: `null/undefined` são convertidos em números: `null` torna-se `0`, enquanto `undefined` torna-se `NaN`.
167167

168-
Agora vamos ver algumas coisas engraçadas que acontecem quando aplicamos essas regras. E, o que é mais importante, como não cair na armadilha com eles.: Esses valores são diferentes, porque cada um deles é de um tipo diferente.
168+
Agora vamos ver algumas coisas engraçadas que acontecem quando aplicamos essas regras. E, o que é mais importante, como não cair numa armadilha com eles.: Esses valores são diferentes, porque cada um deles é de um tipo diferente.
169169

170170
### Resultado estranho: null vs 0
171171

172-
Vamos comparar `null` com um zero:
172+
Vamos comparar `null` com zero:
173173

174174
```js run
175175
alert( null > 0 ); // (1) false
@@ -181,11 +181,11 @@ Matematicamente, isso é estranho. O último resultado afirma que "`null` é mai
181181

182182
A razão é que uma verificação de igualdade `==` e comparações `> < >= <=` funcionam de forma diferente. As comparações convertem `null` em um número, tratando-o como `0`. É por isso que (3) `null >= 0` é verdadeiro e (1) `null > 0` é falso.
183183

184-
Por outro lado, a verificação de igualdade `==` para `undefined` e `null` é definida de tal forma que, sem nenhuma conversão, eles são iguais e não são iguais a mais nada. É por isso que (2) `null == 0` é falso.
184+
Por outro lado, a verificação de igualdade `==` para `undefined` e `null` é definida de tal forma que, sem nenhuma conversão, eles são iguais entre si e não são iguais a mais nada. É por isso que (2) `null == 0` é falso.
185185

186-
### Um incomparável indefinido
186+
### Um incomparável "undefined"
187187

188-
O valor `undefined` não deve ser comparado a outros valores:
188+
O valor `undefined` (indefinido) não deve ser comparado a outros valores:
189189

190190
```js run
191191
alert( undefined > 0 ); // false (1)
@@ -197,20 +197,20 @@ Por que não gostam do zero? Sempre falso!
197197

198198
Obtemos esses resultados porque:
199199

200-
- Comparações `(1)` e `(2)` retornam `false` porque `undefined` é convertido em `NaN` e `NaN` é um valor numérico especial que retorna `false` para todas as comparações.
200+
- Comparações `(1)` e `(2)` retornam `false` porque `undefined` é convertido em `NaN`, e `NaN` é um valor numérico especial que retorna `false` para todas as comparações.
201201
- A verificação de igualdade `(3)` retorna `false` porque `undefined` só é igual a `null`, `undefined` e nenhum outro valor.
202202

203203
### Evite problemas
204204

205-
Por que examinamos esses exemplos? Devemos nos lembrar dessas peculiaridades o tempo todo? Bem, na verdade não. Na verdade, essas coisas complicadas gradualmente se tornarão familiares com o tempo, mas há uma maneira sólida de evitar problemas com elas:
205+
Por que examinamos esses exemplos? Devemos nos lembrar dessas peculiaridades o tempo todo? Bem, na verdade, não. Essas coisas complicadas gradualmente se tornarão familiares com o tempo, mas há uma maneira sólida de evitar problemas com elas:
206206

207207
- Trate qualquer comparação com `undefined/null` exceto a igualdade estrita `===` com cuidado excepcional.
208-
- Não use comparações `>= > < <=` com uma variável que pode ser `null/undefined`, a menos que você tenha certeza do que está fazendo. Se uma variável puder ter esses valores, verifique-os separadamente.
208+
- Não use comparações `>= > < <=` com uma variável que pode ser `null/undefined`, a menos que você tenha a certeza do que está fazendo. Se uma variável puder a ter esses valores, verifique-os separadamente.
209209

210210
## Resumo
211211

212212
- Os operadores de comparação retornam um valor booleano.
213-
- As strings são comparadas letra por letra na ordem do "dicionário".
213+
- As strings são comparadas letra a letra na ordem do "dicionário".
214214
- Quando valores de tipos diferentes são comparados, eles são convertidos em números (com a exclusão de uma verificação de igualdade estrita).
215215
- Os valores `null` e `undefined` são iguais `==` entre si e não são iguais a nenhum outro valor.
216216
- Tenha cuidado ao usar comparações como `>` ou `<` com variáveis ​​que podem ocasionalmente ser `null/undefined`. Verificar por `null/undefined` separadamente é uma boa ideia.

0 commit comments

Comments
 (0)