Skip to content

Commit 14af7c0

Browse files
authored
Merge branch 'master' into master
2 parents c06fd69 + b464ad1 commit 14af7c0

File tree

553 files changed

+9940
-32449
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

553 files changed

+9940
-32449
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
* text=auto eol=lf
2+
*.svg binary

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github: iliakan

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,6 @@ sftp-config.json
2121
Thumbs.db
2222

2323

24-
/svgs
24+
/svgs
25+
# VSCode workspace
26+
.vscode/

1-js/01-getting-started/1-intro/article.md

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@ Os scripts são fornecidos e executados como texto puro. Eles não precisam de p
1313
Neste aspecto, o JavaScript é muito diferente de outra linguagem chamada [Java](https://pt.wikipedia.org/wiki/Java_(linguagem_de_programação)).
1414

1515
```smart header="Por que é chamado <u>Java</u>Script?"
16-
Quando o JavaScript foi criado, inicialmente tinha outro nome: "LiveScript". Mas Java era muito popular naquela época, então foi decidido que posicionar uma nova linguagem como um "irmão mais novo" de Java ajudaria.
16+
Quando o JavaScript foi criado, tinha outro nome: "LiveScript". Mas Java era muito popular naquela época, então foi decidido que posicionar uma nova linguagem como um "irmão mais novo" de Java ajudaria.
1717
18-
Mas à medida que ele evoluiu, o JavaScript se tornou uma linguagem totalmente independente com sua própria especificação chamada [ECMAScript] (http://en.wikipedia.org/wiki/ECMAScript), e agora ele não tem nenhuma relação com Java.
18+
Mas à medida que ele evoluiu, o JavaScript se tornou uma linguagem totalmente independente e com a sua própria especificação chamada [ECMAScript](https://pt.wikipedia.org/wiki/ECMAScript), e agora ele não tem nenhuma relação com Java.
1919
```
2020

21-
Hoje, o JavaScript pode ser executado não só no navegador, mas também no servidor, ou mesmo em qualquer dispositivo que tenha um programa especial chamado [Interpretador JavaScript] (https://pt.wikipedia.org/wiki/Interpretador_de_JavaScript).
21+
Hoje, o JavaScript pode ser executado não só no navegador, como também no servidor, ou mesmo em qualquer dispositivo que tenha um programa especial chamado [Interpretador JavaScript](https://pt.wikipedia.org/wiki/Interpretador_de_JavaScript).
2222

23-
O navegador tem um interpretador(motor) incorporado, às vezes chamado de "máquina virtual JavaScript".
23+
O navegador tem um interpretador (motor) incorporado que às vezes é chamado de "máquina virtual JavaScript".
2424

2525
Interpretadores diferentes têm "codinomes" diferentes. Por exemplo:
2626

27-
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- no Chrome, Opera e Edge.
27+
- [V8](https://pt.wikipedia.org/wiki/V8_(JavaScript)) -- no Chrome, Opera e Edge.
2828
- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- no Firefox.
29-
- ...Há outros codinomes como "Chakra" para o IE, "JavaScriptCore", "Nitro" e "SquirrelFish" para Safari, etc.
29+
- ... Há outros codinomes como "Chakra" para o IE, "JavaScriptCore", "Nitro" e "SquirrelFish" para Safari, etc.
3030

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.
31+
Os termos acima são bons para lembrar, pois são usados em artigos de desenvolvedores na internet. Nós também os vamos usar. Por exemplo, se "um recurso X é suportado pelo V8", então ele provavelmente funciona no Chrome, Opera e Edge.
3232

3333
```smart header="Como funcionam os interpretadores?"
3434
@@ -45,39 +45,41 @@ O interpretador aplica otimizações em cada etapa do processo. Ele ainda observ
4545

4646
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.
4747

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.
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.
4949

5050
O JavaScript no navegador pode fazer tudo relacionado à manipulação de páginas web, interação com o usuário e o servidor web.
5151

5252
Por exemplo, o JavaScript no navegador é capaz de:
5353

5454
- Adicionar novo HTML à página, alterar o conteúdo existente, modificar estilos.
55-
- Reagir às ações do usuário, executar em cliques de mouse, movimentos de ponteiro, pressionamentos de teclas.
56-
- Enviar solicitações através da rede para servidores remotos, baixar e carregar arquivos (as chamadas tecnologias [AJAX](https://en.wikipedia.org/wiki/Ajax_(programming)) e [COMET](https://en.wikipedia.org/wiki/Comet_(programming))).
55+
- Reagir às ações do usuário, executando código seguindo cliques de mouse, movimentos de ponteiro, pressionamentos de teclas.
56+
- Enviar solicitações através da rede para servidores remotos, baixar e carregar arquivos (as chamadas tecnologias [AJAX] (https://pt.wikipedia.org/wiki/Ajax_(programa%C3%A7%C3%A3o)) e [COMET] (https://pt.wikipedia.org/wiki/Comet_(programa%C3%A7%C3%A3o))).
5757
- Obter e definir cookies, fazer perguntas ao visitante, mostrar mensagens.
58-
- Lembre-se dos dados no lado do cliente ("local storage").
58+
- Lembrar-se dos dados no lado do cliente ("local storage").
5959

6060
## O que o JavaScript no navegador não pode fazer?
6161

62-
As habilidades do JavaScript no navegador são limitadas por uma questão de segurança do usuário. O objetivo é evitar que uma página maléfica acesse informações privadas ou prejudique os dados do usuário.
62+
As habilidades do JavaScript no navegador são limitadas por uma questão de segurança do usuário. O objetivo é evitar que uma página maléfica acesse informações privadas ou danifique os dados do usuário.
6363

6464
Exemplos de tais restrições incluem:
6565

66-
- JavaScript em uma página não pode ler/gravar arquivos arbitrários no disco rígido, copiá-los ou executar programas. Não tem acesso direto às funções do sistema operacional.
66+
- O JavaScript em uma página não pode ler/gravar/copiar arquivos arbitrários ou executar programas, se estes estiverem no disco rígido. Não tem acesso direto às funções do sistema operacional.
6767

68-
Os navegadores modernos permitem que ele trabalhe com arquivos, mas o acesso é limitado e fornecido apenas se o usuário executar determinadas ações, como "dropping" de um arquivo em uma janela do navegador ou selecioná-lo por meio de uma tag `<input>`.
68+
Os navegadores modernos permitem que ele trabalhe com arquivos, mas o acesso é limitado e fornecido apenas se o usuário executar determinadas ações, como "dropping" de um arquivo em uma janela do navegador ou selecioná-lo por meio de uma entrada de formulário.
69+
70+
Existem maneiras de interagir com a câmera / microfone e outros dispositivos, mas eles exigem permissão explícita do usuário. Assim, uma página habilitada para JavaScript pode não habilmente habilitar uma câmera web, observar os arredores e enviar as informações para a [NSA](https://pt.wikipedia.org/wiki/Ag%C3%AAncia_de_Seguran%C3%A7a_Nacional).
6971

70-
Existem maneiras de interagir com a câmera / microfone e outros dispositivos, mas eles exigem permissão explícita do usuário. Assim, uma página habilitada para JavaScript pode não habilmente habilitar uma câmera web, observar os arredores e enviar as informações para a [NSA](https://pt.wikipedia.org/wiki/Ag%C3%AAncia_de_Seguran%C3%A7a_Nacional).
7172
- Diferentes abas/janelas geralmente não se conhecem mutuamente. Às vezes sim, por exemplo, quando uma janela usa JavaScript para abrir a outra. Mas mesmo neste caso, JavaScript de uma página pode não acessar a outra se eles vierem de sites diferentes (de um domínio, protocolo ou porta diferente).
7273

73-
Isso é chamado de "Política de mesma origem ". Para contornar isso, *ambas as páginas* devem conter um código JavaScript especial que lida com a troca de dados.
74+
Isto é chamado de "Política de mesma origem". Para contornar isso, *ambas as páginas* devem concordar em trocar dados e conter código JavaScript específico para o fazer.
7475

7576
Essa limitação é, novamente, para a segurança do usuário. Uma página de `http://umsitequalquer.com.br` que um usuário abriu não deve poder alcançar uma outra aba do navegador com a URL `http://gmail.com` e roubar a informação de lá.
77+
7678
- O JavaScript pode se comunicar facilmente pela rede com o servidor de onde a página atual veio. Mas sua capacidade de receber dados de outros sites / domínios é prejudicada. Embora possível, requer acordo explícito (expresso em cabeçalhos HTTP) do lado remoto. Mais uma vez, isso é uma limitação de segurança.
7779

7880
![](limitations.svg)
7981

80-
Esses limites não existem se o JavaScript for usado fora do navegador, por exemplo, em um servidor. Os navegadores modernos também permitem plugins / extensões que podem solicitar permissões estendidas.
82+
Esses limites não existem se o JavaScript for usado fora do navegador, por exemplo, em um servidor. Os navegadores modernos também permitem plugins/extensões que podem solicitar permissões estendidas.
8183

8284
## O que torna o JavaScript único?
8385

@@ -86,23 +88,24 @@ Há pelo menos *três* grandes aspectos do JavaScript:
8688
```compare
8789
+ Integração total com HTML/CSS.
8890
+ Coisas simples são feitas de forma simples.
89-
+ Suporte para todos os principais navegadores e ativado por padrão.
91+
+ Suporte em todos os principais navegadores, e ativado por padrão.
9092
```
93+
9194
JavaScript é a única tecnologia de navegador que combina estas três qualidades.
9295

9396
Isso é o que torna o JavaScript único. É por isso que é a ferramenta mais difundida para criar interfaces de navegador.
9497

95-
Ao passo que planeja aprender uma nova tecnologia, é benéfico verificar suas perspectivas. Então, vamos seguir para as tendências modernas que o afetam, incluindo novas linguagens e habilidades de navegador.
98+
Dito isso, o JavaScript pode ser usado para criar servidores, aplicativos móveis, etc.
9699

97100
## Linguagens "sobre" JavaScript
98101

99102
A sintaxe do JavaScript não se adapta às necessidades de todos. Pessoas diferentes querem características diferentes.
100103

101-
Isso é de se esperar, porque os projetos e requisitos são diferentes para todos.
104+
Isso é de se esperar, porque projetos e requisitos são diferentes para todos.
102105

103106
Então, recentemente uma infinidade de novas linguagens apareceu, que são *transpiladas* (convertidas) para JavaScript antes de rodarem no navegador.
104107

105-
Ferramentas modernas tornam a transpilação muito rápida e transparente, permitindo que os desenvolvedores codifiquem em outra linguagem e auto-convertendo-a "sob o capô".
108+
Ferramentas modernas tornam a transpilação muito rápida e transparente, permitindo que os desenvolvedores codifiquem em outra linguagem e auto-convertendo "nos bastidores".
106109

107110
Exemplos de tais linguagens:
108111

1-js/01-getting-started/2-manuals-specifications/article.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# Manuais e especificações
32

43
Este livro é um *tutorial*. Ele tem como objetivo lhe ajudar a aprender gradualmente a linguagem. Mas uma vez familiarizado com o básico, irá precisar de outros recursos.
@@ -17,11 +16,11 @@ E mais, se você está desenvolvendo para browsers, há outras especificações
1716

1817
## Manuais
1918

20-
- **MDN (Mozilla) JavaScript Reference** é um manual com exemplos e outras informações. É ótimo para um entendimento sobre funções da linguagem, métodos , etc.
19+
- **MDN (Mozilla) JavaScript Reference** é um manual com exemplos e outras informações. É ótimo para um entendimento sobre funções da linguagem, métodos , etc.
2120

22-
Pode ser encontrado em <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.
21+
Pode ser encontrado em <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference>.
2322

24-
Porém, às vezes é melhor fazer uma busca na internet. Apenas use "MDN [termo]" na busca, por exemplo: <https://google.com/search?q=MDN+parseInt> para procurar pela função `parseInt`.
23+
Porém, às vezes é melhor fazer uma busca na internet. Apenas use "MDN [termo]" na busca, por exemplo: <https://google.com/search?q=MDN+parseInt> para procurar pela função `parseInt`.
2524

2625
## Tabelas de compatibilidade
2726

1-js/01-getting-started/3-code-editors/article.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ Na prática, os editores leves podem ter muitos plug-ins, incluindo analisadores
3131

3232
As seguintes opções merecem sua atenção:
3333

34-
- [Atom](https://atom.io/) (plataforma cruzada, livre).
3534
- [Sublime Text](http://www.sublimetext.com) (plataforma cruzada, shareware).
3635
- [Notepad++](https://notepad-plus-plus.org/) (Windows, livre).
3736
- [Vim](http://www.vim.org/) e [Emacs](https://www.gnu.org/software/emacs/) também são legais se você sabe como usá-los.
@@ -43,3 +42,9 @@ Os editores nas listas acima são aqueles que eu ou os meus amigos que eu consid
4342
Há outros grandes editores no nosso grande mundo. Por favor, escolha o que você mais gosta.
4443

4544
A escolha de um editor, como qualquer outra ferramenta, é individual e depende de seus projetos, hábitos e preferências pessoais.
45+
46+
Opinião pessoal do autor:
47+
48+
- Eu usaria o [Visual Studio Code](https://code.visualstudio.com/) se desenvolvesse principalmente para o frontend.
49+
50+
- Caso contrário, se o desenvolvimento for principalmente em outra linguagem/plataforma e parcialmente em frontend, considere outros editores, como o Xcode (Mac), o Visual Studio (Windows) ou a família JetBrains (WebStorm, PHPStorm, RubyMine etc., dependendo da linguagem).

1-js/01-getting-started/4-devtools/article.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Console do desenvolvedor
22

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).
44

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.
5+
Mas no navegador, os usuários não veem os erros por padrão. Assim, se algo correr mal no script, não veremos de onde está partindo e não poderemos corrigir.
66

77
Para que possamos visualizar erros e obter muitas outras informações úteis sobre scripts, as "ferramentas de desenvolvedor" foram incorporadas aos navegadores.
88

@@ -22,7 +22,7 @@ As ferramentas de desenvolvedor serão abertas na aba Console por padrão.
2222

2323
É parecido com isto:
2424

25-
![chrome](chrome.png)
25+
![chrome](chrome.webp)
2626

2727
O aspecto exato das ferramentas de desenvolvimento depende da sua versão do Chrome. Ele muda de vez em quando, mas deve ser semelhante.
2828

@@ -33,10 +33,9 @@ Abaixo da mensagem de erro, há um símbolo azul `>`. Ele marca uma "linha de co
3333

3434
Agora podemos ver erros, e isso é suficiente para começar. Voltaremos mais tarde às ferramentas de desenvolvedor e abordaremos a depuração mais profundamente no capítulo <info:debugging-chrome>.
3535

36-
```smart header="Multi-line input"
37-
Usually, when we put a line of code into the console, and then press `key:Enter`, it executes.
38-
39-
To insert multiple lines, press `key:Shift+Enter`. This way one can enter long fragments of JavaScript code.
36+
```smart header="Múltiplas linhas de comando"
37+
Normalmente, quando colocamos uma linha de código no console e pressionamos `key:Enter`, o código sera executado.
38+
Para inserir várias linhas, pressione `key:Shift+Enter`. Dessa forma, será possível inserir longos fragmentos de código JavaScript.
4039
```
4140

4241
## Firefox, Edge, e outros
-41.1 KB
Binary file not shown.
22.2 KB
Loading
48.3 KB
Loading

0 commit comments

Comments
 (0)