Skip to content

Commit 095b85f

Browse files
committed
Aplica sugestões do revisor
1 parent ef825fa commit 095b85f

File tree

2 files changed

+29
-31
lines changed

2 files changed

+29
-31
lines changed
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +0,0 @@
1-
2-
[html src="index.html"]

1-js/02-first-steps/12-nullish-coalescing-operator/article.md

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,20 @@ Agora, deveria estar completamente claro o que `??` faz. Vamos ver onde ele é
2525

2626
O caso de uso comum para `??` é obter um valor padrão para uma variável potencialmente indefinida.
2727

28-
Por exemplo, aqui exibimos `Anônimo` se `usuario` não for definido:
28+
Por exemplo, aqui exibimos `Anônimo` se `user` não for definido:
2929

3030
```js run
31-
let usuario;
31+
let user;
3232

33-
alert(usuario ?? "Anônimo"); // Anônimo (usuario não definido)
33+
alert(user ?? "Anônimo"); // Anônimo ("user" não definido)
3434
```
3535
36-
Aqui está o exemplo com um nome atribuido a `user`:
36+
Aqui está o exemplo com um nome atribuído a `user`:
3737
3838
```js run
39-
let usuario = "João";
39+
let user = "João";
4040

41-
alert(usuario ?? "Anônimo"); // João (usuario está definido)
41+
alert(user ?? "Anônimo"); // João ("user" está definido)
4242
```
4343
4444
Podemos também usar uma sequência de `??` para selecionar o primeiro valor em uma lista que não seja `null/undefined`.
@@ -50,13 +50,13 @@ Gostaríamos de exibir o nome do usuário usando uma dessas variáveis, ou exibi
5050
Para isso usaremos o operador `??`:
5151
5252
```js run
53-
let nome = null;
54-
let sobrenome = null;
55-
let apelido = "Supercoder";
53+
let firstName = null;
54+
let lastName = null;
55+
let nickName = "Supercoder";
5656

5757
// exibe o primeiro valor definido:
5858
*!*
59-
alert(nome ?? sobrenome ?? apelido ?? "Anônimo"); // Supercoder
59+
alert(firstName ?? lastName ?? nickName ?? "Anônimo"); // Supercoder
6060
*/!*
6161
```
6262
@@ -67,13 +67,13 @@ O operador OU `||` pode ser utilizado da mesma forma que `??`, como descrito no
6767
Por exemplo, no código acima podemos substituir `??` por `||` e o resultado se mantém:
6868
6969
```js run
70-
let nome = null;
71-
let sobrenome = null;
72-
let apelido = "Supercoder";
70+
let firstName = null;
71+
let lastName = null;
72+
let nickName = "Supercoder";
7373

7474
// exibe o primeiro valor avaliado como verdadeiro:
7575
*!*
76-
alert(nome || sobrenome || apelido || "Anônimo"); // Supercoder
76+
alert(firstName || lastName || nickName || "Anônimo"); // Supercoder
7777
*/!*
7878
```
7979
@@ -88,21 +88,21 @@ A principal diferença entre eles é:
8888
8989
Em outras palavras, `||` não diferencia entre `false`, `0`, uma string vazia `""` e `null/undefined`. Todos são igualmente valores avaliados como falsos. Se algum desses for o primeiro argumento de `||`, então teremos o segundo argumento como resultado.
9090
91-
Na prática, porém, gostaríamos de usar valores padrão somente se a variável é `null/undefined`. Ou seja, quando o valor realmente seja desconhecido/não definido.
91+
Na prática, porém, gostaríamos de usar valores padrão somente se a variável é `null/undefined`. Ou seja, quando o valor seja realmente desconhecido/não definido.
9292
9393
Por exemplo, considere isso:
9494
9595
```js run
96-
let altura = 0;
96+
let height = 0;
9797

98-
alert(altura || 100); // 100
99-
alert(altura ?? 100); // 0
98+
alert(height || 100); // 100
99+
alert(height ?? 100); // 0
100100
```
101101
102-
- `altura || 100` verifica se `altura` é um valor avaliado como falso, e como é `0`, de fato é.
102+
- `height || 100` verifica se `height` é um valor avaliado como falso, e como é `0`, de fato é.
103103
- então o resultado de `||` é o segundo argumento, `100`.
104-
- `altura ?? 100` verifica se `altura` é `null/undefined`, e não é,
105-
- então o resultado é o valor atual de `altura`, que é `0`.
104+
- `height ?? 100` verifica se `height` é `null/undefined`, e não é,
105+
- então o resultado é o valor atual de `height`, que é `0`.
106106
107107
Na prática, a altura igual a zero é um valor válido que não deve ser substituído pelo valor padrão, então usar `??` é o correto.
108108
@@ -115,11 +115,11 @@ Isto significa que, tal como `||`, o operador de coalescência nula `??` é aval
115115
Então, se quiser selecionar um valor com `??` em uma expressão com outros operadores, considere o uso de parênteses:
116116
117117
```js run
118-
let altura = null;
119-
let largura = null;
118+
let height = null;
119+
let width = null;
120120

121121
// importante: use parênteses
122-
let area = (altura ?? 100) * (largura ?? 50);
122+
let area = (height ?? 100) * (width ?? 50);
123123

124124
alert(area); // 5000
125125
```
@@ -128,15 +128,15 @@ Caso contrário, se omitirmos os parênteses, como `*` tem maior precedência qu
128128
129129
```js
130130
// sem parênteses
131-
let area = altura ?? 100 * largura ?? 50;
131+
let area = height ?? 100 * width ?? 50;
132132

133133
// ...funciona desta forma (provavelmente não como gostaríamos):
134-
let area = altura ?? 100 * largura ?? 50;
134+
let area = height ?? 100 * width ?? 50;
135135
```
136136
137137
### Usando ?? com && ou ||
138138
139-
Por razões de segurança, o JavaScript proíbe o uso de `??` juntamente com os operadores `&&` e `||`, a menos que a precedência seja explicitamente especificada usando parênteses.
139+
Por razões de segurança, o JavaScript proíbe o uso de `??` junto dos operadores `&&` e `||`, a menos que a precedência seja explicitamente especificada usando parênteses.
140140
141141
O código abaixo dispara um erro de sintaxe:
142142
@@ -163,8 +163,8 @@ alert(x); // 2
163163
É usado para atribuir valores a variáveis:
164164
165165
```js
166-
// grava altura=100, se altura é null ou undefined
167-
altura = altura ?? 100;
166+
// grava height=100, se height é null ou undefined
167+
height = height ?? 100;
168168
```
169169
170170
- O operador `??` possui uma precedência muito baixa, um pouco maior que `?` e `=`, portanto considere adicionar parênteses quando utilizá-lo em uma expressão.

0 commit comments

Comments
 (0)