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/09-comparison/article.md
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -73,7 +73,7 @@ Por exemplo, um caso relevante. Uma letra maiúscula `"A"` não é igual à letr
73
73
74
74
## Comparação de diferentes tipos
75
75
76
-
Quando é comparado 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.
77
77
78
78
Por exemplo:
79
79
@@ -156,7 +156,7 @@ Para uma verificação de igualdade estrita `===`
156
156
```
157
157
158
158
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, a 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.
160
160
161
161
```js run
162
162
alert( null == undefined ); // true
@@ -181,7 +181,7 @@ Matematicamente, isso é estranho. O último resultado afirma que "`null` é mai
181
181
182
182
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.
183
183
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.
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.
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:
206
206
207
207
- 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 a certeza do que está fazendo. Se uma variável puder a 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 tiver `null` ou `undefined`, verifique-os separadamente.
209
209
210
210
## Resumo
211
211
212
212
- Os operadores de comparação retornam um valor booleano.
213
213
- As strings são comparadas letra a letra na ordem do "dicionário".
214
214
- 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).
215
215
- Os valores `null` e `undefined` são iguais `==` entre si e não são iguais a nenhum outro valor.
216
-
- 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.
216
+
- Tenha cuidado ao usar comparações, como `>` ou `<`, com variáveis que possam ocasionalmente ser `null/undefined`. Verificar por `null/undefined` separadamente é uma boa ideia.
0 commit comments