Skip to content

Fix errors and remove duplicate paragraphs. #357

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

Merged
merged 7 commits into from
Nov 20, 2016
Merged
Show file tree
Hide file tree
Changes from all 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
6 changes: 3 additions & 3 deletions doc/ptbr/core/eval.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ A função `eval` executará uma string de código JavaScript no escopo local.
test(); // 3
foo; // 1

Entreranto, `eval` somente é executado no escopo local quando é chamado diretamente
*e* quanto o nome da função chamada é `eval`.
Entretanto, `eval` somente é executado no escopo local quando é chamado diretamente
*e* quando o nome da função chamada é `eval`.

var foo = 1;
function test() {
Expand Down Expand Up @@ -40,6 +40,6 @@ Ele **nunca** deve ser utilizado com strings de origens duvidosas ou desconhecid
### Conclusão

`eval` nunca deve ser utilizado. Qualquer código que faça uso de `eval` seve ser questionado
em sua utilizade, performance e segurança. Se algo necessita de `eval` para funcionar, então **não** deve ser utilizado.
em sua utilidade, performance e segurança. Se algo necessita de `eval` para funcionar, então **não** deve ser utilizado.
Um *design melhor* deve ser utilizado, um que não faça uso de `eval`.

8 changes: 1 addition & 7 deletions doc/ptbr/core/semicolon.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Apesar do JavaScript possuir uma sintaxe no estilo C, o uso do ponto e vírgula **não** é obrigatório.

JavaScript não é uma linguagem 'semicolon-less'. De fato, o ponto e vírgula é necessário para o interpretação do código. Entretanto, o parser do JavaScript insere o **automaticamente** ponto e vírgula sempre que ocorrer um error de parser, decorrente da falta do ponto e vírgula.
JavaScript não é uma linguagem 'semicolon-less'. De fato, o ponto e vírgula é necessário para o interpretação do código. Entretanto, o parser do JavaScript insere o **ponto e vírgula** automaticamente sempre que ocorrer um error de parser, decorrente da falta do ponto e vírgula.

var foo = function() {
} // parse error, semicolon expected
Expand Down Expand Up @@ -96,11 +96,5 @@ As chances de `log` não retornar uma função são **muito** altas; portanto, o

### Conclusão

It is highly recommended to **never** omit semicolons. It is also recommended
that braces be kept on the same line as their corresponding statements and to
never omit them for single-line `if` / `else` statements. These measures will
not only improve the consistency of the code, but they will also prevent the
JavaScript parser from changing code behavior.

É **fortemente** recomendado que nunca se omita o ponto e vírgula. Também é recomendado que chaves sejam mantidas na mesma linha que seus statements e que nunca sejam omitadas em declações de uma só linha como `if` / `else` statements. Tais medidas não somente melhorarão a consistência do código, como também irão previnir alteração no comportamento do código por má interpretação do parser do JavaScript.

6 changes: 3 additions & 3 deletions doc/ptbr/core/undefined.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ Aqui estão alguns exemplos de quando o valor `undefined` é retornado:

### Manipulando mudanças no valor de `undefined`

Uma que a variável global `undefined` apenas mantém uma cópia do valor *atual* de `undefined`, atribuir-lhe
Uma vez que a variável global `undefined` apenas mantém uma cópia do valor *atual* de `undefined`, atribuir-lhe
um novo valor **não** muda o valor do tipo `undefined`.

Ainda, a fim de comparar alguma coisa com o valor de `undefined`, é ncessário que
Ainda, a fim de comparar alguma coisa com o valor de `undefined`, é necessário que
primeiro se retorne o `undefined`.

A fim de proteger o código contra uma possível sobrescrtia da variável `undefined`, uma
Expand All @@ -54,7 +54,7 @@ Outra maneira de atingir o mesmo efeito seria utilizar uma declaração dentro d

})('Hello World', 42);

A única diferença aqui é a que a última versão resulta na redução de 4 bytes, e existe
A única diferença aqui é a que a última versão resulta na redução de 4 bytes, e não existe
outro `var` statement dentro do wrapper anônimo.

### Usos do `null`
Expand Down
9 changes: 3 additions & 6 deletions doc/ptbr/function/arguments.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## O objeto `arguments`

Todo escopo de uma função em JavaScript em acesso à variável especial `arguments`.
Todo escopo de uma função em JavaScript tem acesso à variável especial `arguments`.
Esta variável armazena uma lista de todos os argumentos que foram passados para a função.

> **Nota:** No caso em que `arguments` tenha sido definido dentro do escopo da função por meio
Expand All @@ -12,7 +12,7 @@ e é de fato um `Object`.

Devido a isto, **não** é possível usar os métodos padrões de array como `push`,
`pop` ou `slice` no `arguments`. Enquanto que a iteração com um simples `for` loop funciona bem,
é necessário convertê-lo para um `Array` a fim de usar os métodos padrões de `Array`.
é necessário convertê-lo para um `Array` a fim de usar os métodos padrões de `Array`.

### Convertendo em um Array

Expand Down Expand Up @@ -96,10 +96,7 @@ em engines modernas de JavaScript. Este caso é o uso de `arguments.callee`
foo(); // Would normally be inlined...
}
}

No código acima, `foo`
In the above code, `foo` can no longer be a subject to [inlining][1] since it
needs to know about both itself and its caller.

Isto não somente acaba com possíveis ganhos de performance que resultariam de inlining,
mas também quebram o encapsulamento pois a função agora depende de uma chamada específica de contexto.

Expand Down
2 changes: 1 addition & 1 deletion doc/ptbr/object/general.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Um equívoco muito comum é a idéia de que números não podem ser manipulados

2.toString(); // raises SyntaxError

Existem duas soluções para contornar este problema e permtir que números se comportem como objetos.
Existem três soluções para contornar este problema e permtir que números se comportem como objetos.

2..toString(); // o segundo ponto é reconhecido corretamente
2 .toString(); // perceba o espaço deixado à esquerda do ponto
Expand Down
4 changes: 2 additions & 2 deletions doc/ptbr/object/hasownproperty.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ em outro lugar na cadeia prototype.

### `hasOwnProperty` como propriedade

JavaScript não protege o nome do propriedade `hasOwnProperty`; assim, se
JavaScript não protege o nome da propriedade `hasOwnProperty`; assim, se
existe a possibilidade de algum objeto possuir uma propriedade com este mesmo nome,
torna-se necessário utilizar um `hasOwnProperty` **externo** a fim de obter resultados corretos.

Expand All @@ -50,7 +50,7 @@ torna-se necessário utilizar um `hasOwnProperty` **externo** a fim de obter res

### Conclusão

O método é a **única** maneira confiável `hasOwnProperty` para verificar a existência da propriedade em um objeto.
O método `hasOwnProperty` é a **única** maneira confiável para verificar a existência da propriedade em um objeto.
É recomendado que `hasOwnProperty` seja utilizado em **cada** interação de um [laço `for in`](#object.forinloop)
a fim de evitar erros de extensão do [prototype](#object.prototype).

6 changes: 3 additions & 3 deletions doc/ptbr/other/timeouts.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Quando `setTimeout` é chamado, ele retorna o ID do timeout e agenda a execuçã
para **aproximadamente** mil milissegundos no futuro.
`foo` será executado uma **única** vez.

Dependendo de como a enine JavaScript que está rodando o código resolve o timer, bem como
Dependendo de como a engine JavaScript que está rodando o código resolve o timer, bem como
o fato de que o JavaScript é single threaded e outro código que é executado pode bloquear a
thread, **não há como** garantir a precisão dos intervalos especificados nas chamadas `setTimeout`.

Expand Down Expand Up @@ -44,7 +44,7 @@ o nome sugere - irá executar a função a **cada** `X` milisegundos, porém se
desencorajado.

Quando um código em execução bloqueia a chamada do timeout, `setInterval` continuará
emitindo chamads para a função em questão. Isto pode, especialmente com intervalos curtos,
emitindo chamadas para a função em questão. Isto pode, especialmente com intervalos curtos,
resultar em uma pilha de chamadas de função.

function foo(){
Expand Down Expand Up @@ -129,7 +129,7 @@ Esta funcionalidade **nunca** deve ser utilizada pois internamente faz uso de `e

Uma vez que `eval` não é chamado [diretamente](#core.eval) neste caso, a string
passada como argumento para `setTimeout` será executada no *escopo global*; assim, ela
não usará a variávle local `foo` do escopo de `bar`.
não usará a variável local `foo` do escopo de `bar`.

Também é recomendado **não** usar uma string para passar argumentos
para a função que será chamada por qualquer uma das funções de timeout.
Expand Down