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: JS/JS-br.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ Em JavaScript, não existe inteiros de verdade, todos os números são implement
51
51
0.1+0.2==0.3// false
52
52
```
53
53
54
-
Para tipos primitivos, quando usamos literais para inicializar uma variável, ela te apenas um valor literal, ela não tem um tipo. Isso será convertido para o tipo correspondente apenas quando necessário.
54
+
Para tipos primitivos, quando usamos literais para inicializar uma variável, ela tem apenas um valor literal, ela não tem um tipo. Isso será convertido para o tipo correspondente apenas quando necessário.
55
55
56
56
```js
57
57
let a =111// apenas literais, não um número
@@ -161,7 +161,7 @@ Quanto a `null`, ele é sempre tratado como um `object` pelo `typeof`, apesar
161
161
typeofnull// 'object'
162
162
```
163
163
164
-
Por que isso acontece? Porque a versão inicial do JS era baseada em sistemas de 32-bits, do qual armazenada 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 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.
165
165
166
166
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]`:
167
167
@@ -269,11 +269,11 @@ var c = new foo();
269
269
c.a=3;
270
270
console.log(c.a);
271
271
272
-
//finally, using `call`, `apply`, `bind` to change what `this` is bound to,
273
-
//is another scenario where its priority is only second to `new`
272
+
//finalmente, usando `call`, `apply`, `bind` para mudar o que o `this` é obrigado,
273
+
//em outro cenário onde essa prioridade é apenas o segundo `new`
274
274
```
275
275
276
-
Understanding the above several situations, we won’t be confused by `this`under most circumstances. Next, let’s take a look at`this`in arrow functions:
276
+
Entendendo sobre as várias situações acima, nós não vamos ser confundidos pelo `this`na maioria dos casos. Depois, vamos dar uma olhada no`this`nas arrow functions:
277
277
278
278
```js
279
279
functiona() {
@@ -285,7 +285,7 @@ function a() {
285
285
}
286
286
console.log(a()()());
287
287
```
288
-
Actually, the arrow function does not have`this`, `this`in the above function only depends on the first outer function that is not an arrow function. For this case, `this`is default to `window`because calling`a`matches the first condition in the above codes. Also, what `this`is bound to will not be changed by any codes once `this`is bound to the context.
288
+
Atualmente, as arrow function não tem o`this`, `this`na função acima apenas depende da primeira função externa que não é uma arrow function. Nesse caso, `this`é o padrão para `window`porque chamando`a`iguala a primeira condição nos códigos acima. Também, o que o `this`está ligado não ira ser mudado por qualquer código uma vez que o `this`estiver ligado em um contexto.
0 commit comments