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
+24-45Lines changed: 24 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,11 +12,7 @@ Uma [variável](https://pt.wikipedia.org/wiki/Variável_(programação)) é um "
12
12
13
13
Para criar uma variável em JavaScript, use a palavra-chave `let`.
14
14
15
-
<<<<<<< HEAD
16
-
A declaração abaixo cria (em outras palavras: * declara * ou * define *) uma variável com o nome "message":
17
-
=======
18
-
The statement below creates (in other words: *declares*) a variable with the name "message":
19
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
15
+
A declaração abaixo cria (em outras palavras: *declara*) uma variável com o nome "message":
20
16
21
17
```js
22
18
let message;
@@ -39,7 +35,7 @@ let message;
39
35
message ='Olá!';
40
36
41
37
*!*
42
-
alert(message); // mostra o conteúdo variável
38
+
alert(message); // mostra o conteúdo da variável
43
39
*/!*
44
40
```
45
41
@@ -74,7 +70,7 @@ let user = 'John',
74
70
message ='Olá';
75
71
```
76
72
77
-
... Ou até mesmo no estilo "comma-first":
73
+
... Ou até mesmo no estilo "vírgula-primeiro":
78
74
79
75
```js no-beautify
80
76
let user ='John'
@@ -98,13 +94,13 @@ Existem diferenças sutis entre `let` e `var`, mas elas ainda não são importan
98
94
99
95
## Uma analogia da vida real
100
96
101
-
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.
102
98
103
-
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á"`!:
104
100
105
101

106
102
107
-
Podemos pôr qualquer valor na box.
103
+
Podemos pôr qualquer valor na caixa.
108
104
109
105
Também podemos mudá-lo quantas vezes quisermos:
110
106
```js run
@@ -133,36 +129,31 @@ let message;
133
129
message = hello;
134
130
*/!*
135
131
136
-
// agora duas variáveis mantêm os mesmos dados
132
+
// agora duas variáveis contêm os mesmos dados
137
133
alert(hello); // Olá Mundo!
138
134
alert(message); // Olá Mundo!
139
135
```
140
136
141
-
<<<<<<< HEAD
142
-
```smart header="Linguagens funcionais"
143
-
É interessante notar que linguagens de programação [funcional](https://en.wikipedia.org/wiki/Functional_programming), como [Scala](http://www.scala-lang.org/) or [Erlang](http://www.erlang.org/), proibem a modificação de valores de variáveis.
144
-
=======
145
-
````warn header="Declaring twice triggers an error"
146
-
A variable should be declared only once.
137
+
````warn header="Declarar duas vezes lança um erro"
138
+
Uma variável deve ser declarada apenas uma vez.
147
139
148
-
A repeated declaration of the same variable is an error:
140
+
Uma declaração repetida da mesma variável é um erro:
149
141
150
142
```js run
151
-
let message = "This";
143
+
let message = "Isto";
152
144
153
-
// repeated 'let' leads to an error
154
-
let message = "That"; // SyntaxError: 'message' has already been declared
145
+
// um 'let' repetido conduz a um erro
146
+
let message = "Aquilo"; // SyntaxError: 'message' has already been declared (Erro-de-sintaxe: 'message' já foi declarado)
155
147
```
156
-
So, we should declare a variable once and then refer to it without `let`.
148
+
Assim, nós devemos declarar uma variável uma única vez e depois fazer referência a ela sem o `let`.
157
149
````
158
150
159
-
```smart header="Functional languages"
160
-
It's interesting to note that there exist [functional](https://en.wikipedia.org/wiki/Functional_programming) programming languages, like [Scala](http://www.scala-lang.org/) or [Erlang](http://www.erlang.org/) that forbid changing variable values.
161
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
151
+
```smart header="Linguagens funcionais"
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.
162
153
163
-
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.
164
155
165
-
Embora possa parecer um pouco estranho à primeira vista, estas línguas 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 tal linguagem (mesmo que você não esteja planejando usá-la em breve) é recomendado para ampliar a mente.
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 uma linguagem dessas (mesmo que você não esteja planejando usá-la em breve) é recomendado para ampliar a mente.
166
157
```
167
158
168
159
## Nomeação de variável [#variable-naming]
@@ -204,19 +195,15 @@ let my-name; // hífens '-' não são permitidos no nome
204
195
Variáveis chamadas `apple` e `AppLE` são duas variáveis diferentes.
205
196
```
206
197
207
-
````smart header="Letras não inglesas são permitidas, mas não são recomendadas"
208
-
É 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:
209
200
210
201
```js
211
202
let имя = '...';
212
203
let 我 = '...';
213
204
```
214
205
215
-
<<<<<<< HEAD
216
206
Tecnicamente, não há erro aqui, tais nomes são permitidos, mas há uma tradição internacional de usar o inglês em nomes de variáveis. Mesmo que estejamos escrevendo um pequeno script, ele pode ter uma longa vida pela frente. Pessoas de outros países podem precisar lê-lo em algum momento.
217
-
=======
218
-
Technically, there is no error here. Such names are allowed, but there is an international convention to use English in variable names. Even if we're writing a small script, it may have a long life ahead. People from other countries may need to read it some time.
219
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
220
207
````
221
208
222
209
````warn header="Nomes reservados"
@@ -250,7 +237,7 @@ Esta é uma má prática e causaria um erro no modo estrito:
250
237
"use strict";
251
238
252
239
*!*
253
-
num =5; // erro: o número não está definido
240
+
num =5; // erro: 'num' não está definido
254
241
*/!*
255
242
```
256
243
````
@@ -263,19 +250,15 @@ Para declarar uma variável constante (imutável), use `const` em vez de `let`:
263
250
const myBirthday = '18.04.1982';
264
251
```
265
252
266
-
<<<<<<< HEAD
267
253
Variáveis declaradas usando `const` são chamadas de "constantes". Elas não podem ser alteradas. Uma tentativa de fazer isso causaria um erro:
268
-
=======
269
-
Variables declared using `const` are called "constants". They cannot be reassigned. An attempt to do so would cause an error:
270
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
271
254
272
255
```js run
273
256
const myBirthday = '18.04.1982';
274
257
275
258
myBirthday = '01.01.2001'; // erro, não é possível reatribuir a constante!
276
259
```
277
260
278
-
Quando um programador é certo que uma variável nunca mudará, eles podem declará-la com `const` para garantir e comunicar claramente esse fato a todos.
261
+
Quando um programador está certo que uma variável nunca mudará, ele pode declará-la com `const` para garantir e comunicar claramente esse fato a todos.
279
262
280
263
281
264
### Constantes maiúsculas
@@ -320,11 +303,7 @@ Em outras palavras, constantes com nomes maiúsculos são usadas apenas como pse
320
303
321
304
Falando em variáveis, há mais uma coisa extremamente importante.
322
305
323
-
<<<<<<< HEAD
324
-
Por favor, nomeie as suas variáveis de forma sensata. Tome tempo para pensar sobre isso.
325
-
=======
326
-
A variable name should have a clean, obvious meaning, describing the data that it stores.
327
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
306
+
O nome de uma variável deveria ter um significado claro e óbvio, descrevendo os dados que ela armazena.
328
307
329
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 qual código foi escrito por um iniciante versus um desenvolvedor experiente.
330
309
@@ -357,7 +336,7 @@ Os minificadores e navegadores JavaScript modernos otimizam o código o suficien
357
336
358
337
Podemos declarar variáveis para armazenar dados usando as palavras-chave `var`, `let`, ou `const`.
359
338
360
-
- `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.
361
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.
362
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.
The visitor can type something in the prompt input field and press OK. Then we get that text in the `result`. Or they can cancel the input by pressing Cancel or hitting the `key:Esc` key, then we get `null` as the `result`.
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.
0 commit comments