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/01-getting-started/1-intro/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
@@ -24,11 +24,11 @@ O navegador tem um interpretador(motor) incorporado, às vezes chamado de "máqu
24
24
25
25
Interpretadores diferentes têm "codinomes" diferentes. Por exemplo:
26
26
27
-
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- no Chrome e no Opera.
27
+
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- no Chrome, Opera e Edge.
28
28
-[SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- no Firefox.
29
29
- ...Há outros codinomes como "Chakra" para o IE, "JavaScriptCore", "Nitro" e "SquirrelFish" para Safari, etc.
30
30
31
-
Os termos acima são bons para lembrar, pois são usados em artigos de desenvolvedores na internet. Vamos usá-los também. Por exemplo, se "um recurso X é suportado pelo V8", então ele provavelmente funciona no Chrome e no Opera.
31
+
Os termos acima são bons para lembrar, pois são usados em artigos de desenvolvedores na internet. Vamos usá-los também. Por exemplo, se "um recurso X é suportado pelo V8", então ele provavelmente funciona no Chrom, Opera e Edge.
32
32
33
33
```smart header="Como funcionam os interpretadores?"
34
34
@@ -45,7 +45,7 @@ O interpretador aplica otimizações em cada etapa do processo. Ele ainda observ
45
45
46
46
JavaScript moderno é uma linguagem de programação "segura". Ele não fornece acesso de baixo nível à memória ou CPU, porque foi inicialmente criado para navegadores que não necessitam dele.
47
47
48
-
As capacidades do JavaScript dependem muito do ambiente em que está sendo executado. Por exemplo, [Node.js](https://wikipedia.org/wiki/Node.js) suporta funções que permitem ao JavaScript ler/gravar arquivos arbitrários, executar solicitações de rede, etc.
48
+
As capacidades do JavaScript dependem muito do ambiente em que está sendo executado. Por exemplo, [Node.js]https://pt.wikipedia.org/wiki/Node.js) suporta funções que permitem ao JavaScript ler/gravar arquivos arbitrários, executar solicitações de rede, etc.
49
49
50
50
O JavaScript no navegador pode fazer tudo relacionado à manipulação de páginas web, interação com o usuário e o servidor web.
Para Windows, há também "Visual Studio", que não deve ser confundido com "Visual Studio Code". "Visual Studio" é um editor pago e poderoso somente para Windows, bem adequado para a plataforma .NET . Uma versão gratuita é chamada [Visual Studio Community](https://www.visualstudio.com/vs/community/).
18
+
Para Windows, há também "Visual Studio", que não deve ser confundido com "Visual Studio Code". "Visual Studio" é um editor pago e poderoso somente para Windows, bem adequado para a plataforma .NET . Uma versão gratuita é chamada [Visual Studio Community](https://visualstudio.microsoft.com/pt-br/vs/community/).
19
19
20
20
Muitas IDEs são pagas, mas têm um período experimental. Seu custo é geralmente desprezível comparado ao salário de um desenvolvedor qualificado, então basta escolher o melhor para você.
21
21
@@ -32,7 +32,6 @@ Na prática, os editores leves podem ter muitos plug-ins, incluindo analisadores
Copy file name to clipboardExpand all lines: 1-js/01-getting-started/4-devtools/article.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Console do desenvolvedor
2
2
3
-
O código é propenso a erros. Você provavelmente cometerá erros ... Oh, do que estou falando? Você está *inevitavelmente* cometendo erros, pelo menos se você for um humano, não um [robô] (<https://pt.wikipedia.org/wiki/Bender_Bending_Rodr%C3%ADguez).>
3
+
O código é propenso a erros. Você provavelmente cometerá erros ... Oh, do que estou falando? Você está *inevitavelmente* cometendo erros, pelo menos se você for um humano, não um [robô] (https://pt.wikipedia.org/wiki/Bender_Bending_Rodr%C3%ADguez).
4
4
5
5
Mas no navegador, os usuários não vêem os erros por padrão. Assim, se algo correr mal no script, não veremos de onde está partindo e não poderemos corrigir.
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/11-logical-operators/article.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -123,7 +123,7 @@ This leads to some interesting usage compared to a "pure, classical, boolean-onl
123
123
124
124
It means that `||` processes its arguments until the first truthy value is reached, and then the value is returned immediately, without even touching the other argument.
125
125
126
-
That importance ofthis feature becomes obvious if an operand isn't just a value, but an expression with a side effect, such as a variable assignment or a function call.
126
+
The importance ofthis feature becomes obvious if an operand isn't just a value, but an expression with a side effect, such as a variable assignment or a function call.
127
127
128
128
In the example below, only the second message is printed:
Copy file name to clipboardExpand all lines: 1-js/03-code-quality/02-coding-style/article.md
+9-10Lines changed: 9 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,7 @@ if (condição) {
54
54
55
55
Uma construção de única-linha, tal como `if (condição) doSomething()`, é um importante caso de exceção. Devemos utilizar chavetas, ou não?
56
56
57
-
Aqui estão variantes com anotações, para que por si mesmo você possa avaliar a sua legíbilidade:
57
+
Aqui estão variantes com anotações, para que por si mesmo você possa avaliar a sua legibilidade:
58
58
59
59
1. 😠 Principiantes, por vezes fazem isto. É mau! As chavetas não são necessárias:
60
60
```js
@@ -83,11 +83,12 @@ Para código muito curto, uma única linha é aceitável, ex: `if (cond) return
83
83
Ninguém gosta de ler uma longa linha horizontal de código. A melhor prática é a particionar.
84
84
85
85
Por exemplo:
86
-
87
86
```js
88
87
// o acento grave (*backtick*) ` permite repartir uma *string* por múltiplas linhas
89
88
let str =`
90
-
O TC39 da ECMA International, é um grupo de desenvolvedores e implementadores de JavaScript, académicos, e outros, colaborando com a comunidade para manter e evoluir a definição de JavaScript.
89
+
O TC39 da ECMA International, é um grupo de desenvolvedores e
90
+
implementadores de JavaScript, académicos, e outros, colaborando com a comunidade
91
+
para manter e evoluir a definição de JavaScript.
91
92
`;
92
93
```
93
94
@@ -148,7 +149,7 @@ Existem dois tipos de indentação:
148
149
149
150
### Pontos-e-vírgula
150
151
151
-
Um ponto-e-vírgula deveria estar presente no fim de cada instrução, mesmo que possívelmente pudesse ser omitido.
152
+
Um ponto-e-vírgula deveria estar presente no fim de cada instrução, mesmo que possivelmente pudesse ser omitido.
152
153
153
154
Existem linguagens em que o ponto-e-vírgula é verdadeiramente opcional, e raramente utilizado. Contudo, em JavaScript, há casos em que uma quebra-de-linha não é interpretada como um ponto-e-vírgula, deixando o código vulnerável a erros. Veja mais sobre isto no capítulo <info:structure#semicolon>.
154
155
@@ -247,7 +248,6 @@ Se estiver a escrever várias funções "auxiliares" (*"helper" functions*) acom
247
248
setHandler(elem);
248
249
walkAround();
249
250
```
250
-
251
251
2. O código primeiro, depois as funções:
252
252
253
253
```js
@@ -269,7 +269,6 @@ Se estiver a escrever várias funções "auxiliares" (*"helper" functions*) acom
269
269
...
270
270
}
271
271
```
272
-
273
272
3. Mista: uma função é declarada onde for empregue pela primeira vez.
274
273
275
274
A maior parte da vezes, a segunda variante é a preferida.
@@ -282,7 +281,7 @@ Um guia de estilo contém regras gerais sobre "como escrever" código, ex. que a
282
281
283
282
Quando todos os membros de uma equipa usam o mesmo guia de estilo, o código parece uniforme, independentemente do membro da equipa que o tenha escrito.
284
283
285
-
Óbviamente, que uma equipa pode sempre escrever o seu próprio guia de estilo, mas geralmente não há necessidade. Existem muitos guias à escolha.
284
+
Obviamente, que uma equipa pode sempre escrever o seu próprio guia de estilo, mas geralmente não há necessidade. Existem muitos guias à escolha.
286
285
287
286
Algumas opções populares:
288
287
@@ -292,19 +291,19 @@ Algumas opções populares:
292
291
- [StandardJS](https://standardjs.com/)
293
292
- (e muitas mais)
294
293
295
-
Se for um programador iniciante, começe pela cábula (*cheatsheet*) disponível no início deste capítulo. Depois, poderá procurar por outros guias de estilo afim de colher mais ideias e decidir qual prefere.
294
+
Se for um programador iniciante, comece pela cábula (*cheatsheet*) disponível no início deste capítulo. Depois, poderá procurar por outros guias de estilo afim de colher mais ideias e decidir qual prefere.
296
295
297
296
## *Linters* Automatizados
298
297
299
-
*Linters*, são ferramentas que automáticamente verificam o estilo do seu código e fazem sugestões para o alterar.
298
+
*Linters*, são ferramentas que automaticamente verificam o estilo do seu código e fazem sugestões para o alterar.
300
299
301
300
O seu ponto-forte reside em, à medida que verificam o estilo, poderem encontrar alguns erros (*bugs*), como nomes de variáveis ou de funções mal-escritos. Devido a esta capacidade, é recomendado que use um *linter* mesmo que não queira aderir a um certo "estilo de código".
302
301
303
302
Aqui estão algumas das mais conhecidas ferramentas de *linting*:
304
303
305
304
- [JSLint](http://www.jslint.com/) -- um dos primeiros *linters*.
306
305
- [JSHint](http://www.jshint.com/) -- mais configurações do que *JSLint*.
307
-
- [ESLint](http://eslint.org/) -- provávelmente o mais recente.
306
+
- [ESLint](http://eslint.org/) -- provavelmente o mais recente.
308
307
309
308
Todos eles podem executar a tarefa. O autor utiliza [ESLint](http://eslint.org/).
Copy file name to clipboardExpand all lines: 1-js/05-data-types/01-primitives-methods/article.md
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,6 @@
1
1
# Métodos de primitivos
2
2
3
-
JavaScript nos permite trabalhar com primitivos (strings, números, etc.) como se fossem objetos.
4
-
5
-
Eles também fornecem métodos para chamar como se fossem objetos. Estudaremos isso em breve, mas primeiro veremos como isso funciona, porque, é claro, os primitivos não são objetos (e aqui deixaremos isso ainda mais claro).
3
+
JavaScript nos permite trabalhar com primitivos (strings, números, etc.) como se fossem objetos. Eles também fornecem métodos para chamar como se fossem objetos. Estudaremos isso em breve, mas primeiro veremos como isso funciona, porque, é claro, os primitivos não são objetos (e aqui deixaremos isso ainda mais claro).
6
4
7
5
Vejamos as principais diferenças entre primitivos e objetos.
8
6
@@ -50,9 +48,9 @@ A solução parece um pouco estranha, mas aqui está:
50
48
2. A linguagem permite acesso a métodos e propriedades de strings, números, booleanos e símbolos.
51
49
3. Quando isso acontece, um "invólucro de objeto" especial que fornece a funcionalidade extra é criado e, em seguida, é destruído.
52
50
53
-
Os "invólucros de objeto" são diferentes para cada tipo primitivo e são chamados: `String`, `Number`, `Boolean`e `Symbol`. Assim, eles fornecem diferentes conjuntos de métodos.
51
+
Os "invólucros de objeto" são diferentes para cada tipo primitivo e são chamados: `String`, `Number`, `Boolean`, `Symbol`e `BigInt`. Assim, eles fornecem diferentes conjuntos de métodos.
54
52
55
-
Por exemplo, existe um método para *strings*[str.toUpperCase()](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase) que retorna `str` em letras maiúsculas.
53
+
Por exemplo, existe um método para *strings*[str.toUpperCase()](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase) que retorna `str` em letras maiúsculas.
56
54
57
55
Veja como isso funciona:
58
56
@@ -72,7 +70,7 @@ Portanto, os primitivos podem fornecer métodos, mas ainda permanecem leves.
72
70
73
71
O mecanismo do JavaScript otimiza muito esse processo. Pode até ignorar a criação do objeto extra. Mas ainda deve seguir a especificação e se comportar como se criasse um.
74
72
75
-
Um número tem métodos próprios, por exemplo, [toFixed(n)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed) arredonda o número para a precisão dada:
73
+
Um número tem métodos próprios, por exemplo, [toFixed(n)](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed) arredonda o número para a precisão dada:
Copy file name to clipboardExpand all lines: 1-js/06-advanced-functions/01-recursion/05-output-single-linked-list-reverse/solution.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,11 +33,11 @@ printReverseList(list);
33
33
34
34
# Using a loop
35
35
36
-
The loop variant is also a little bit more complicated then the direct output.
36
+
The loop variant is also a little bit more complicated than the direct output.
37
37
38
38
There is no way to get the last value in our `list`. We also can't "go back".
39
39
40
-
So what we can do is to first go through the items in the direct order and rememeber them in an array, and then output what we remembered in the reverse order:
40
+
So what we can do is to first go through the items in the direct order and remember them in an array, and then output what we remembered in the reverse order:
0 commit comments