Skip to content

An Introduction to JavaScript #240

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions 1-js/01-getting-started/1-intro/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,20 @@ Neste aspecto, o JavaScript é muito diferente de outra linguagem chamada [Java]
```smart header="Por que é chamado <u>Java</u>Script?"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you change to:

  • Vamos ver o que há de tão especial sobre o JavaScript, ...
    (line 3)

  • `## O que é o JavaScript?
    (line 5, please do not include the initial backtic here)

  • O JavaScript foi inicialmente criado para "tornar páginas web vivas" ...
    (line7)

  • Eles podem ser diretamente escritos no HTML de uma página ...
    (line 9)

  • Os scripts são fornecidos e executados como puro texto....
    (line 11)

  • Neste aspecto, o JavaScript é muito diferente de uma outra linguagem chamada...
    (line 13)

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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
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.


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.
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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Mas à medida que ele evoluiu, o JavaScript se tornou numa 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.

```

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).
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).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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).
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).


O navegador tem um interpretador(motor) incorporado, às vezes chamado de "máquina virtual JavaScript".
O navegador tem um interpretador (motor) incorporado, às vezes chamado de "máquina virtual JavaScript".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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


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

- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- no Chrome, Opera e Edge.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- no Chrome, Opera e Edge.
- [V8](https://pt.wikipedia.org/wiki/V8_(JavaScript)) -- no Chrome, Opera e Edge.

- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- no Firefox.
- ...Há outros codinomes como "Chakra" para o IE, "JavaScriptCore", "Nitro" e "SquirrelFish" para Safari, etc.
- ... Há outros codinomes como "Chakra" para o IE, "JavaScriptCore", "Nitro" e "SquirrelFish" para Safari, etc.

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.
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, Opera e Edge.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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, Opera e Edge.
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.


```smart header="Como funcionam os interpretadores?"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you also change:

  1. O interpretador (embutido se for num navegador) lê ("analisa") o script.
    (line 37)

  2. Depois converte ("compila") o script para a linguagem máquina.
    (line 38)

  3. E então o código máquina é executado, bem rápido.
    (line 39)

  • ... , analisa os dados que passam por ele e aplica otimizações ao código máquina com base nesse conhecimento.
    (line 41)

Expand All @@ -45,7 +45,7 @@ O interpretador aplica otimizações em cada etapa do processo. Ele ainda observ

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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
O 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, e eles não necessitam dele.


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

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Reagir às ações do usuário, executando código seguindo cliques de mouse, movimentos de ponteiro, pressionamentos de teclas.
    (line 55)

  • ... (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))).
    (line 56)

  • Lembrar-se dos dados no lado do cliente ("local storage").
    (line 58)

  • ... O objetivo é evitar que uma página maléfica acesse informações privadas ou danifique os dados do usuário.
    (line 62)

  • 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....
    (line 66)

Expand All @@ -67,7 +67,7 @@ Exemplos de tais restrições incluem:

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>`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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>`.
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.


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).
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 [Agência de Segurança Nacional (em inglês: National Security Agency - NSA)](https://pt.wikipedia.org/wiki/Ag%C3%AAncia_de_Seguran%C3%A7a_Nacional).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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 [Agência de Segurança Nacional (em inglês: National Security Agency - NSA)](https://pt.wikipedia.org/wiki/Ag%C3%AAncia_de_Seguran%C3%A7a_Nacional).
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 com o JavaScript ativo não pode às encondidas habilitar uma câmera web, observar os arredores e enviar as informações para a [Agência de Segurança Nacional (NSA)](https://pt.wikipedia.org/wiki/Ag%C3%AAncia_de_Seguran%C3%A7a_Nacional).

- 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).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 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).
- Diferentes abas/janelas geralmente não se conhecem mutuamente. Mas às vezes sim, por exemplo, quando uma janela usa JavaScript para abrir outra. Mas mesmo neste caso, o JavaScript numa página pode não acessar a outra se elas vierem de sites diferentes (de um domínio, protocolo ou porta diferentes).


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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
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.

Would you also change:

  • ...Mas a sua capacidade de receber dados de outros sites/domínios é limitada. Embora possível, requer acordo explícito (expresso em cabeçalhos HTTP) do lado remoto. Mais uma vez, esta é uma limitação de segurança.
    (line 76)

  • ...Os navegadores modernos também permitem plugins/extensões que podem solicitar permissões alargadas.
    (line 80)

  • Suporte em todos os principais navegadores, e ativado por padrão.
    (line 89)

  • O JavaScript é a única tecnologia de navegador que combina estas três qualidades.
    (line 91)

  • Dito isto, o JavaScript pode ser usado para criar servidores, aplicativos móveies, etc.
    (line 95; replace all of it by this one - check English text)

  • Isso é de se esperar, porque projetos e requisitos são diferentes para todos.
    (line 101)

  • Ferramentas modernas tornam a transpilação muito rápida e transparente, permitindo que os desenvolvedores codifiquem em outra linguagem e auto-convertendo "nos bastidores".
    (line 105)

Expand Down