Skip to content

Commit bd8e322

Browse files
committed
Finished Pt-Br translation for JS
1 parent 1e796e5 commit bd8e322

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

JS/JS-br.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ let a = {
8989

9090
Apenas para adicão, se um dos parâmentros for uma string, o outro será convertido para uma string também. Para todas as outras operações, enquanto se um dos parâmetros for um número, o outro será convertido para um número.
9191

92-
Adicões invocaram três tipos de conversões de tipos: para timos primitivos, para números e string:
92+
Adicões invocaram três tipos de conversões de tipos: para tipos primitivos, para números e string:
9393

9494
```js
9595
1 + '1' // '11'
@@ -161,7 +161,7 @@ Quanto a `null`, ele é sempre tratado como um `object` pelo `typeof`, apesar
161161
typeof null // 'object'
162162
```
163163

164-
Por que isso acontece? Porque a versão inicial do JS era baseada em sistemas de 32-bits, do qual armazenava a informação do tipo de variável em bits mais baixos para considerações de performance. Essas começam com objetos `000`, e todos os bits de `null` são zero, então isso é erroneamente tratado como um objeto. Apesar do código atual verificar se os tipos internos mudaram, esse bug foi passado para baixo.
164+
Por que isso acontece? Porque a versão inicial do JS era baseada em sistemas de 32-bits, do qual armazenava a informação do tipo de variável em bits mais baixos por considerações de performance. Essas começam com objetos `000`, e todos os bits de `null` são zero, então isso é erroneamente tratado como um objeto. Apesar do código atual verificar se os tipos internos mudaram, esse bug foi passado para baixo.
165165

166166
Nós podemos usar `Object.prototype.toString.call(xx)` se quisermos pegar o tipo de dado correto da variável, e então obtemos uma string como `[object Type]`:
167167

@@ -438,7 +438,7 @@ Para `let`, ele vai criar um escopo de block-level, do qual é equivalente a:
438438
439439
![](https://camo.githubusercontent.com/71cab2efcf6fb8401a2f0ef49443dd94bffc1373/68747470733a2f2f757365722d676f6c642d63646e2e786974752e696f2f323031382f332f31332f313632316538613962636230383732643f773d34383826683d35393026663d706e6726733d313531373232)
440440
441-
Cada função, além de `Function.prototype.bind()`, tem uma propriedade interna, detonado como `prototype`, do qual é uma referência para o prototype.
441+
Cada função, além de `Function.prototype.bind()`, tem uma propriedade interna, denotado como `prototype`, do qual é uma referência para o prototype.
442442
443443
Cada objeto tem uma propriedade interna, denotada como `__proto__`, que é uma referência para o prototype do construtor que criou o objeto. Essa propriedade é atualmente referenciada ao `[[prototype]]`, mas o `[[prototype]]` é uma propriedade interna que nós não podemos acessar, então usamos o `__proto__` para acessar ele.
444444
@@ -504,7 +504,7 @@ Object.setPrototypeOf(MyData.prototype, Date.prototype)
504504
505505
A implementação da idéia acima sobre herança: primeiro cria uma instância da classe do pai => muda o original `__proto__` de instância, conectado ao `prototype` da classe do filho => muda o `__proto__` da classe do filho `prototype` para o `prototype` da classe do pai.
506506
507-
A herança de implementação com o método acima pode perfeitamente resolve a restrição no baixo nível do JS.
507+
A herança de implementação com o método acima pode perfeitamente resolver a restrição no baixo nível do JS.
508508
509509
510510
# Cópia rasa e profunda
@@ -595,7 +595,7 @@ let newObj = JSON.parse(JSON.stringify(obj))
595595
console.log(newObj)
596596
```
597597
598-
Se um objto é uam referência circular como o exemplo acima, você vai encontrar o método `JSON.parse(JSON.stringify(object))` ele não pode fazer a cópia profunda desse objeto:
598+
Se um objto é uma referência circular como o exemplo acima, você vai encontrar o método `JSON.parse(JSON.stringify(object))` ele não pode fazer a cópia profunda desse objeto:
599599
600600
![](https://user-gold-cdn.xitu.io/2018/3/28/1626b1ec2d3f9e41?w=840&h=100&f=png&s=30123)
601601
@@ -694,7 +694,7 @@ A diferença entre as modularizações no `CommonJS` a no ES6 são:
694694
695695
- O antigo suporta importes dinamico, que é `require(${path}/xx.js)`; o último não suporta isso ainda, mas
696696
existem propostas.
697-
- O antigo usa importes síncronos. Desde de que usado no servidor os arquivos são locais, não importa muito mesmo se o import síncrono bloqueia a main thread. O último usa importe assíncrono, porque ele é usado no navegador em que os arquivos baixados são precisos. O processo de rendereização seria afetado muito se assíncrono importe for usado.
697+
- O antigo usa importes síncronos. Desde de que usado no servidor os arquivos são locais, não importa muito mesmo se o import síncrono bloqueia a main thread. O último usa importe assíncrono, porque ele é usado no navegador em que os arquivos baixados são precisos. O processo de renderização seria afetado muito se assíncrono importe for usado.
698698
- O anterior copia os valores quando exportando. Mesmo se o valor exportado mudou, os valores importados não irão mudar. Portanto, se os valores devem ser atualizados, outro importe precisa acontecer. Contudo, o último usa ligações em tempo real, os valores importados são importados no mesmo endereço de memória, então o valor importado muda junto com os importados.
699699
- Em execução o último é compilado para `require/exports`.
700700
@@ -1295,7 +1295,7 @@ Você pode ter dúvidas sobre o código acima, aqui nós explicamos o príncipio
12951295
12961296
# Proxy
12971297
1298-
Proxi é uma nova funcionalidade desde o ES6. Ele costuma ser usado para definir operações em objetos:
1298+
Proxy é uma nova funcionalidade desde o ES6. Ele costuma ser usado para definir operações em objetos:
12991299
13001300
```js
13011301
let p = new Proxy(target, handler);

0 commit comments

Comments
 (0)