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/14-switch/article.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Ela fornece uma forma mais descritiva para comparar um valor a múltiplas varian
8
8
9
9
O `switch` tem um ou mais blocos `case` (caso) e um `default` (padrão) opcional.
10
10
11
-
Tem uma apresentação semelhante a:
11
+
Ele se parece com:
12
12
13
13
```js no-beautify
14
14
switch(x) {
@@ -26,9 +26,9 @@ switch(x) {
26
26
}
27
27
```
28
28
29
-
- O valor de `x` é comparado através de uma igualdade exata ao valor do primeiro `case` (isto é, ao `valor1`), a seguir ao do segundo (`valor2`) e assim sucessivamente.
29
+
- O valor de `x` é comparado através de uma igualdade exata ao valor do primeiro `case` (isto é, ao `valor1`), a seguir ao do segundo (`valor2`), e assim sucessivamente.
30
30
- Se uma igualdade for encontrada, o `switch` começa a executar o código a partir do início do `case` correspondente, até ao próximo `break` (ou até ao fim do `switch`).
31
-
- Se nenhum `case`é equiparado então o código em `default` é executado (se existir).
31
+
- Se nenhum `case`tem uma correspondência, então o código em `default` é executado (se existir).
32
32
33
33
## Um exemplo
34
34
@@ -54,11 +54,11 @@ switch (a) {
54
54
}
55
55
```
56
56
57
-
Aqui o `switch` começa por comparar `a`à variante no primeiro `case`, sendo `3`. A correspondência falha.
57
+
Aqui o `switch` começa por comparar `a`ao valor no primeiro `case`, isto é`3`. A correspondência falha.
58
58
59
59
A seguir a `4`. Existe uma correspondência, e assim a execução começa a partir do `case 4` até ao próximo `break`.
60
60
61
-
**Se não existir um `break` então a execução continua pelo próximo `case` sem quaisquer comparações.**
61
+
**Se não existir um `break` então a execução continua pelo próximo `case`, sem mais comparações.**
62
62
63
63
Um exemplo sem `break`:
64
64
@@ -107,14 +107,14 @@ switch (+a) {
107
107
alert("isto não é executado");
108
108
}
109
109
```
110
-
Aqui `+a` dá `1`, o que é comparado a `b + 1` no `case`, e o código correspondente é executado.
110
+
Aqui `+a` dá `1`, que é comparado no `case` a `b + 1`, e o código correspondente é executado.
111
111
````
112
112
113
113
## Grupos de "case"
114
114
115
115
Múltiplas variantes de `case` que partilhem o mesmo código podem ser agrupadas.
116
116
117
-
Por exemplo, se quisermos que o mesmo código corra por`case 3` e `case 5`:
117
+
Por exemplo, se quisermos que o mesmo código corra para`case 3` e `case 5`:
118
118
119
119
```js run no-beautify
120
120
let a =2+2;
@@ -141,7 +141,7 @@ Agora ambos `3` e `5` mostram a mesma mensagem.
141
141
142
142
A habilidade para "agrupar" cases é um efeito secundário de como o `switch/case` funciona sem `break`. Aqui a execução do `case 3` começa pela linha `(*)` e prossegue pelo `case 5`, por não existir `break`.
143
143
144
-
## O tipo importa
144
+
## O tipo de dados importa
145
145
146
146
Vamos enfatizar que a verificação da igualdade é sempre exata. Os valores devem também ser do mesmo tipo para existir correspondência.
147
147
@@ -169,4 +169,4 @@ switch (arg) {
169
169
170
170
1. Para `0`, `1`, o primeiro `alert` é executado.
171
171
2. Para `2` o segundo `alert` corre.
172
-
3. Mas para `3`, o resultado do `prompt` é uma string com o valor `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código inútil em `case 3`! A variante `default` será executada.
172
+
3. Mas para `3`, o resultado do `prompt` é uma string com o valor `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código ignorado em `case 3`! A variante `default` será executada.
0 commit comments