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/04-variables/article.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ let message;
35
35
message ='Olá!';
36
36
37
37
*!*
38
-
alert(message); // mostra o conteúdo variável
38
+
alert(message); // mostra o conteúdo da variável
39
39
*/!*
40
40
```
41
41
@@ -94,13 +94,13 @@ Existem diferenças sutis entre `let` e `var`, mas elas ainda não são importan
94
94
95
95
## Uma analogia da vida real
96
96
97
-
Podemos facilmente compreender o conceito de uma "variável" se a imaginarmos como uma "box" de dados, com um adesivo de nome exclusivo.
97
+
Podemos facilmente compreender o conceito de uma "variável" se a imaginarmos como uma "caixa" para dados, com um adesivo de nome exclusivo.
98
98
99
-
Por exemplo, a variável `mensagem` pode ser imaginada como uma box chamada `"message"`com o valor `"Olá"`!:
99
+
Por exemplo, a variável `mensagem` pode ser imaginada como uma caixa chamada `"message"`com o valor `"Olá"`!:
100
100
101
101

102
102
103
-
Podemos pôr qualquer valor na box.
103
+
Podemos pôr qualquer valor na caixa.
104
104
105
105
Também podemos mudá-lo quantas vezes quisermos:
106
106
```js run
@@ -129,7 +129,7 @@ let message;
129
129
message = hello;
130
130
*/!*
131
131
132
-
// agora duas variáveis mantêm os mesmos dados
132
+
// agora duas variáveis contêm os mesmos dados
133
133
alert(hello); // Olá Mundo!
134
134
alert(message); // Olá Mundo!
135
135
```
@@ -151,7 +151,7 @@ Assim, devemos declarar uma variável apenas uma vez e depois fazer referência
151
151
```smart header="Linguagens funcionais"
152
152
É interessante notar que existem linguagens de programação [funcionais](https://en.wikipedia.org/wiki/Functional_programming), como [Scala](http://www.scala-lang.org/) ou [Erlang](http://www.erlang.org/), que proíbem a modificação de valores de variáveis.
153
153
154
-
Em tais linguagens, uma vez que o valor é armazenado "na box", ele está lá para sempre. Se precisarmos de armazenar algo mais, a linguagem nos obriga a criar uma nova box (declarar uma nova variável). Não podemos reutilizar a antiga.
154
+
Em tais linguagens, uma vez que o valor é armazenado "na caixa", ele está lá para sempre. Se precisarmos de armazenar algo mais, a linguagem nos obriga a criar uma nova caixa (declarar uma nova variável). Não podemos reutilizar a antiga.
155
155
156
156
Embora possa parecer um pouco estranho à primeira vista, estas linguagens são bastante capazes de um desenvolvimento sério. Mais do que isso, há áreas como cálculos paralelos onde essa limitação confere certos benefícios. Estudar alguma dessas linguagens (mesmo que você não esteja planejando usá-la em breve) é recomendado para ampliar a mente.
157
157
```
@@ -195,8 +195,8 @@ let my-name; // hífens '-' não são permitidos no nome
195
195
Variáveis chamadas `apple` e `AppLE` são duas variáveis diferentes.
196
196
```
197
197
198
-
````smart header="Letras de alfabeto não-Latin são permitidas, mas não são recomendadas"
199
-
É possível usar qualquer idioma, incluindo letras cirílicas ou até hieróglifos, como este:
198
+
````smart header="Letras não-Latin são permitidas, mas não são recomendadas"
199
+
É possível usar qualquer idioma, incluindo letras cirílicas ou até hieróglifos, como estes:
200
200
201
201
```js
202
202
let имя = '...';
@@ -237,7 +237,7 @@ Esta é uma má prática e causaria um erro no modo estrito:
237
237
"use strict";
238
238
239
239
*!*
240
-
num =5; // erro: o número não está definido
240
+
num =5; // erro: 'num' não está definido
241
241
*/!*
242
242
```
243
243
````
@@ -303,7 +303,7 @@ Em outras palavras, constantes com nomes maiúsculos são usadas apenas como pse
303
303
304
304
Falando em variáveis, há mais uma coisa extremamente importante.
305
305
306
-
O nome de uma variável deve ter um significado claro e óbvio, descrevendo os dados que ela armazena.
306
+
O nome de uma variável deveria ter um significado claro e óbvio, descrevendo os dados que ela armazena.
307
307
308
308
A nomenclatura variável é uma das habilidades mais importantes e complexas em programação. Uma rápida olhada em nomes de variáveis pode revelar que código foi escrito por um iniciante versus um desenvolvedor experiente.
309
309
@@ -336,7 +336,7 @@ Os minificadores e navegadores JavaScript modernos otimizam o código o suficien
336
336
337
337
Podemos declarar variáveis para armazenar dados usando as palavras-chave `var`, `let`, ou `const`.
338
338
339
-
- `let` -- é uma declaração de variável moderna. O código deve estar em modo estrito para usar `let` no Chrome (V8).
339
+
- `let` -- é uma declaração de variável moderna.
340
340
- `var` -- é uma declaração de variável da velha escola. Normalmente não a usamos de todo, mas vamos cobrir diferenças sutis de `let` no capítulo <info:var>, para o caso de você precisar delas.
341
341
- `const` -- é como `let`, mas o valor da variável não pode ser alterado.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/05-types/article.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ Além dos números regulares, existem os chamados "valores numéricos especiais"
35
35
alert( 1/0 ); // Infinito
36
36
```
37
37
38
-
Ou apenas referi-lo directamente:
38
+
Ou apenas referi-lo diretamente:
39
39
40
40
```js run
41
41
alert( Infinity ); // Infinito
@@ -178,7 +178,7 @@ O valor especial `undefined` também se diferencia. Faz um tipo próprio, tal co
178
178
179
179
O significado de `undefined` é "o valor não é atribuído".
180
180
181
-
Se uma variável é declarada, mas não atribuida, então seu valor é `undefined`:
181
+
Se uma variável é declarada, mas não atribuída, então seu valor é `undefined`:
182
182
183
183
```js run
184
184
let age;
@@ -252,7 +252,7 @@ As três últimas linhas podem precisar de explicações adicionais:
252
252
253
253
1. `Math` é um objeto embutido que fornece operações matemáticas. Nós o vamos aprender no capítulo <info:number>. Aqui, ele serve apenas como um exemplo de um objeto.
254
254
2. O resultado de `typeofnull` é `"object"`. É um erro oficialmente reconhecido no comportamento de `typeof` e mantido para compatibilidade. Naturalmente, `null` não é um objeto. É um valor especial com um tipo separado próprio.
255
-
3. O resultado de `typeof alert` é `"function"`, porque `alert` é uma função. Vamos estudar as funções nos próximos capítulos onde veremos tambémm que não há nenhum tipo especial "função" em JavaScript. As funções pertencem ao tipo objecto. Mas o `typeof` as trata de forma diferente, retornando `"function"`. Isto, também vem dos primeiros dias do JavaScript. Tecnicamente, é incorrecto, mas muito conveniente na prática.
255
+
3. O resultado de `typeof alert` é `"function"`, porque `alert` é uma função. Vamos estudar as funções nos próximos capítulos onde veremos também que não há nenhum tipo especial "função" em JavaScript. As funções pertencem ao tipo objecto. Mas o `typeof` as trata de forma diferente, retornando `"function"`. Isto, também vem dos primeiros dias do JavaScript. Tecnicamente, é incorreto, mas muito conveniente na prática.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/08-operators/article.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -172,11 +172,11 @@ Why are unary pluses applied to values before the binary ones? As we're going to
172
172
173
173
## Operator precedence
174
174
175
-
If an expression has more than one operator, the execution order is defined by their *precedence*, or, in other words, the implicit priority order of operators.
175
+
If an expression has more than one operator, the execution order is defined by their *precedence*, or, in other words, the default priority order of operators.
176
176
177
177
From school, we all know that the multiplication in the expression `1 + 2 * 2` should be calculated before the addition. That's exactly the precedence thing. The multiplication is said to have *a higher precedence* than the addition.
178
178
179
-
Parentheses override any precedence, so if we're not satisfied with the implicit order, we can use them to change it. For example: `(1 + 2) * 2`.
179
+
Parentheses override any precedence, so if we're not satisfied with the default order, we can use them to change it. For example, write `(1 + 2) * 2`.
180
180
181
181
There are many operators in JavaScript. Every operator has a corresponding precedence number. The one with the larger number executes first. If the precedence is the same, the execution order is from left to right.
182
182
@@ -232,7 +232,7 @@ alert( a ); // 3
232
232
alert( c ); // 0
233
233
```
234
234
235
-
In the example above, the result of `(a = b + 1)` is the value which is assigned to `a` (that is `3`). It is then used for further evaluations.
235
+
In the example above, the result of expression `(a = b + 1)` is the value which was assigned to `a` (that is `3`). It is then used for further evaluations.
236
236
237
237
Funny code, isn't it? We should understand how it works, because sometimes we see it in JavaScript libraries.
238
238
@@ -311,14 +311,14 @@ So, there are special operators for it:
311
311
312
312
```js run no-beautify
313
313
let counter = 2;
314
-
counter++; // works the same as counter = counter + 1, but is shorter
314
+
counter++; // works the same as counter = counter + 1, but is shorter
315
315
alert( counter ); // 3
316
316
```
317
317
- **Decrement** `--` decreases a variable by 1:
318
318
319
319
```js run no-beautify
320
320
let counter = 2;
321
-
counter--; // works the same as counter = counter - 1, but is shorter
321
+
counter--; // works the same as counter = counter - 1, but is shorter
322
322
alert( counter ); // 1
323
323
```
324
324
@@ -451,10 +451,10 @@ Here, the first expression `1 + 2` is evaluated and its result is thrown away. T
451
451
```smart header="Comma has a very low precedence"
452
452
Please note that the comma operator has very low precedence, lower than `=`, so parentheses are important in the example above.
453
453
454
-
Without them: `a =1+2, 3+4` evaluates `+` first, summing the numbers into `a =3, 7`, then the assignment operator `=` assigns `a =3`, and finally the number after the comma, `7`, is not processed so it's ignored.
454
+
Without them: `a =1+2, 3+4` evaluates `+` first, summing the numbers into `a =3, 7`, then the assignment operator `=` assigns `a =3`, and the rest is ignored. It's like `(a =1+2), 3+4`.
455
455
```
456
456
457
-
Why do we need an operator that throws away everything except the last part?
457
+
Why do we need an operator that throws away everything except the last expression?
458
458
459
459
Sometimes, people use it in more complex constructs to put several actions in one line.
460
460
@@ -467,4 +467,4 @@ for (*!*a = 1, b = 3, c = a * b*/!*; a < 10; a++) {
467
467
}
468
468
```
469
469
470
-
Such tricks are used in many JavaScript frameworks. That's why we're mentioning them. But, usually, they don't improve code readability so we should think well before using them.
470
+
Such tricks are used in many JavaScript frameworks. That's why we're mentioning them. But usually they don't improve code readability so we should think well before using them.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/10-ifelse/article.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,11 @@
2
2
3
3
Sometimes, we need to perform different actions based on different conditions.
4
4
5
-
To do that, we use the `if` statement and the conditional (ternary) operator which we will be referring to as the “question mark” operator`?` for simplicity.
5
+
To do that, we can use the `if` statement and the conditional operator `?`, that's also called a "question mark" operator.
6
6
7
7
## The "if" statement
8
8
9
-
The `if` statement evaluates a condition and, if the condition's result is `true`, executes a block of code.
9
+
The `if(...)` statement evaluates a condition in parentheses and, if the result is `true`, executes a block of code.
10
10
11
11
For example:
12
12
@@ -103,7 +103,7 @@ In the code above, JavaScript first checks `year < 2015`. If that is falsy, it g
103
103
104
104
There can be more `else if` blocks. The final `else` is optional.
105
105
106
-
## Ternary operator '?'
106
+
## Conditional operator '?'
107
107
108
108
Sometimes, we need to assign a variable depending on a condition.
109
109
@@ -124,9 +124,9 @@ if (age > 18) {
124
124
alert(accessAllowed);
125
125
```
126
126
127
-
The so-called "ternary" or "question mark" operator lets us do that in a shorter and simpler way.
127
+
The so-called "conditional" or "question mark" operator lets us do that in a shorter and simpler way.
128
128
129
-
The operator is represented by a question mark `?`. The formal term "ternary" means that the operator has three operands. It is actually the one and only operator in JavaScript which has that many.
129
+
The operator is represented by a question mark `?`. Sometimes it's called "ternary", because the operator has three operands. It is actually the one and only operator in JavaScript which has that many.
130
130
131
131
The syntax is:
132
132
```js
@@ -141,7 +141,7 @@ For example:
141
141
let accessAllowed = (age >18) ?true:false;
142
142
```
143
143
144
-
Technically, we can omit the parentheses around `age > 18`. The question mark operator has a low precedence, so it executes after the comparison `>`.
144
+
Technically, we can omit the parentheses around `age > 18`. The question mark operator has a low precedence, so it executes after the comparison `>`.
145
145
146
146
This example will do the same thing as the previous one:
147
147
@@ -216,7 +216,7 @@ Depending on the condition `company == 'Netscape'`, either the first or the seco
216
216
217
217
We don't assign a result to a variable here. Instead, we execute different code depending on the condition.
218
218
219
-
**We don't recommend using the question mark operator in this way.**
219
+
**It's not recommended to use the question mark operator in this way.**
220
220
221
221
The notation is shorter than the equivalent `if` statement, which appeals to some programmers. But it is less readable.
0 commit comments