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/13-switch/article.md
+13-14Lines changed: 13 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,13 @@
2
2
3
3
Uma instrução `switch` pode substituir muitas comparações `if` (se).
4
4
5
-
Ela é uma forma mais descritiva de comparar um valor com múltiplas variantes.
5
+
Ela é uma forma mais descritiva de comparar um valor a múltiplas variantes.
6
6
7
7
## A sintaxe
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 similar a:
11
+
Tem um aspeto semelhante a:
12
12
13
13
```js no-beautify
14
14
switch(x) {
@@ -27,8 +27,8 @@ switch(x) {
27
27
```
28
28
29
29
- O valor de `x` é comparado por meio de uma igualdade exata ao valor do primeiro `case` (isto é, ao `valor1`), a seguir ao do segundo (`valor2`) e assim sucessivamente.
30
-
- Se uma igualdade é 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).
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`for igual então o código em `default` é executado (se existir).
32
32
33
33
## Um exemplo
34
34
@@ -58,7 +58,7 @@ Aqui o `switch` começa por comparar `a` à variante no primeiro `case`, que é
58
58
59
59
Então 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 verificações.**
61
+
**Se não existir um `break` então a execução continua pelo próximo `case` sem adicionais verificações.**
62
62
63
63
Um exemplo sem `break`:
64
64
@@ -99,22 +99,22 @@ let b = 0;
99
99
switch (+a) {
100
100
*!*
101
101
case b + 1:
102
-
alert("isto executa, porque +a é 1, e é exatamente igual a b+1");
102
+
alert("isto é executado, porque +a é 1, e é exatamente igual a b+1");
103
103
break;
104
104
*/!*
105
105
106
106
default:
107
-
alert("isto não executa");
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 a `b + 1` no `case`, 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 partihem 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;
@@ -125,7 +125,7 @@ switch (a) {
125
125
break;
126
126
127
127
*!*
128
-
case3: // (*) dois cases agrupados
128
+
case3: // (*) dois 'cases' agrupados
129
129
case5:
130
130
alert('Errado!');
131
131
alert("Porque não tem aulas de matemática?");
@@ -139,7 +139,7 @@ switch (a) {
139
139
140
140
Agora ambos `3` e `5` mostram a mesma mensagem.
141
141
142
-
A habilidade para "agrupar" cases é um efeito secundário de como `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`.
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
144
## O tipo importa
145
145
@@ -167,7 +167,6 @@ switch (arg) {
167
167
}
168
168
```
169
169
170
-
1. Para `0`, `1`, o primeiro `alert`executa.
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` á a string `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código não
173
-
executável em `case 3`! A variante `default` será executada.
172
+
3. Mas para `3`, o resultado do `prompt` á a string `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código sem efeito em `case 3`! A variante `default` será executada.
0 commit comments