Skip to content

Commit b757f4f

Browse files
authored
Merge pull request #184 from odsantos/conflicts-check-after-pr178
Update "1-js/02-first-steps" (04 - 10) after #178
2 parents 9661942 + c805933 commit b757f4f

File tree

7 files changed

+43
-122
lines changed

7 files changed

+43
-122
lines changed

1-js/02-first-steps/04-variables/article.md

Lines changed: 24 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,7 @@ Uma [variável](https://pt.wikipedia.org/wiki/Variável_(programação)) é um "
1212

1313
Para criar uma variável em JavaScript, use a palavra-chave `let`.
1414

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":
2016

2117
```js
2218
let message;
@@ -39,7 +35,7 @@ let message;
3935
message = 'Olá!';
4036

4137
*!*
42-
alert(message); // mostra o conteúdo variável
38+
alert(message); // mostra o conteúdo da variável
4339
*/!*
4440
```
4541

@@ -74,7 +70,7 @@ let user = 'John',
7470
message = 'Olá';
7571
```
7672

77-
... Ou até mesmo no estilo "comma-first":
73+
... Ou até mesmo no estilo "vírgula-primeiro":
7874

7975
```js no-beautify
8076
let user = 'John'
@@ -98,13 +94,13 @@ Existem diferenças sutis entre `let` e `var`, mas elas ainda não são importan
9894
9995
## Uma analogia da vida real
10096
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.
10298
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á"`!:
104100
105101
![](variable.svg)
106102
107-
Podemos pôr qualquer valor na box.
103+
Podemos pôr qualquer valor na caixa.
108104
109105
Também podemos mudá-lo quantas vezes quisermos:
110106
```js run
@@ -133,36 +129,31 @@ let message;
133129
message = hello;
134130
*/!*
135131
136-
// agora duas variáveis mantêm os mesmos dados
132+
// agora duas variáveis contêm os mesmos dados
137133
alert(hello); // Olá Mundo!
138134
alert(message); // Olá Mundo!
139135
```
140136
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.
147139
148-
A repeated declaration of the same variable is an error:
140+
Uma declaração repetida da mesma variável é um erro:
149141
150142
```js run
151-
let message = "This";
143+
let message = "Isto";
152144
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)
155147
```
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`.
157149
````
158150

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.
162153
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.
164155
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.
166157
```
167158

168159
## Nomeação de variável [#variable-naming]
@@ -204,19 +195,15 @@ let my-name; // hífens '-' não são permitidos no nome
204195
Variáveis chamadas `apple` e `AppLE` são duas variáveis diferentes.
205196
```
206197

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:
209200
210201
```js
211202
let имя = '...';
212203
let 我 = '...';
213204
```
214205
215-
<<<<<<< HEAD
216206
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
220207
````
221208

222209
````warn header="Nomes reservados"
@@ -250,7 +237,7 @@ Esta é uma má prática e causaria um erro no modo estrito:
250237
"use strict";
251238

252239
*!*
253-
num = 5; // erro: o número não está definido
240+
num = 5; // erro: 'num' não está definido
254241
*/!*
255242
```
256243
````
@@ -263,19 +250,15 @@ Para declarar uma variável constante (imutável), use `const` em vez de `let`:
263250
const myBirthday = '18.04.1982';
264251
```
265252
266-
<<<<<<< HEAD
267253
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
271254
272255
```js run
273256
const myBirthday = '18.04.1982';
274257
275258
myBirthday = '01.01.2001'; // erro, não é possível reatribuir a constante!
276259
```
277260
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.
279262
280263
281264
### Constantes maiúsculas
@@ -320,11 +303,7 @@ Em outras palavras, constantes com nomes maiúsculos são usadas apenas como pse
320303
321304
Falando em variáveis, há mais uma coisa extremamente importante.
322305
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.
328307
329308
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.
330309
@@ -357,7 +336,7 @@ Os minificadores e navegadores JavaScript modernos otimizam o código o suficien
357336
358337
Podemos declarar variáveis para armazenar dados usando as palavras-chave `var`, `let`, ou `const`.
359338
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.
361340
- `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.
362341
- `const` -- é como `let`, mas o valor da variável não pode ser alterado.
363342

1-js/02-first-steps/05-types/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Além dos números regulares, existem os chamados "valores numéricos especiais"
3535
alert( 1 / 0 ); // Infinito
3636
```
3737

38-
Ou apenas referi-lo directamente:
38+
Ou apenas referi-lo diretamente:
3939

4040
```js run
4141
alert( Infinity ); // Infinito
@@ -178,7 +178,7 @@ O valor especial `undefined` também se diferencia. Faz um tipo próprio, tal co
178178
179179
O significado de `undefined` é "o valor não é atribuído".
180180
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`:
182182
183183
```js run
184184
let age;
@@ -252,7 +252,7 @@ As três últimas linhas podem precisar de explicações adicionais:
252252
253253
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.
254254
2. O resultado de `typeof null` é `"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.
256256
257257
## Resumo
258258

1-js/02-first-steps/06-alert-prompt-confirm/article.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@ As we'll be using the browser as our demo environment, let's see a couple of fun
44

55
## alert
66

7-
<<<<<<< HEAD:1-js/02-first-steps/06-alert-prompt-confirm/article.md
8-
This one we've seen already. It shows a message and waits for the user to presses "OK".
9-
=======
107
This one we've seen already. It shows a message and waits for the user to press "OK".
11-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3:1-js/02-first-steps/06-alert-prompt-confirm/article.md
128

139
For example:
1410

@@ -35,11 +31,7 @@ It shows a modal window with a text message, an input field for the visitor, and
3531
: An optional second parameter, the initial value for the input field.
3632

3733
```smart header="The square brackets in syntax `[...]`"
38-
<<<<<<< HEAD:1-js/02-first-steps/06-alert-prompt-confirm/article.md
39-
The square brackets around `default` in the syntax above denote that the parameter as optional, not required.
40-
=======
4134
The square brackets around `default` in the syntax above denote that the parameter is optional, not required.
42-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3:1-js/02-first-steps/06-alert-prompt-confirm/article.md
4335
```
4436
4537
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`.

1-js/02-first-steps/08-operators/article.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,11 @@ Why are unary pluses applied to values before the binary ones? As we're going to
172172
173173
## Operator precedence
174174
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.
176176
177177
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.
178178

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`.
180180
181181
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.
182182
@@ -232,7 +232,7 @@ alert( a ); // 3
232232
alert( c ); // 0
233233
```
234234
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.
236236
237237
Funny code, isn't it? We should understand how it works, because sometimes we see it in JavaScript libraries.
238238

@@ -311,14 +311,14 @@ So, there are special operators for it:
311311
312312
```js run no-beautify
313313
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
315315
alert( counter ); // 3
316316
```
317317
- **Decrement** `--` decreases a variable by 1:
318318
319319
```js run no-beautify
320320
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
322322
alert( counter ); // 1
323323
```
324324
@@ -451,10 +451,10 @@ Here, the first expression `1 + 2` is evaluated and its result is thrown away. T
451451
```smart header="Comma has a very low precedence"
452452
Please note that the comma operator has very low precedence, lower than `=`, so parentheses are important in the example above.
453453
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`.
455455
```
456456

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?
458458

459459
Sometimes, people use it in more complex constructs to put several actions in one line.
460460

@@ -467,4 +467,4 @@ for (*!*a = 1, b = 3, c = a * b*/!*; a < 10; a++) {
467467
}
468468
```
469469

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.

1-js/02-first-steps/09-comparison/1-comparison-questions/task.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ undefined === null
1515
null == "\n0\n"
1616
null === +"\n0\n"
1717
```
18+

0 commit comments

Comments
 (0)