Skip to content

Commit 8f043f0

Browse files
committed
it fixes grammar errors
1 parent 7e36a50 commit 8f043f0

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

1-js/04-object-basics/02-object-copy/article.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Referência e cópia de objeto
1+
# Referências e cópias de objetos
22

3-
Uma das diferenças fundamentais entre objetos e primitivos é que objetos são armazenados e copiados por "referência", enquanto valores primiticos: strings, números, booleanos, etc -- são sempre copiados "como um valor integral".
3+
Uma das diferenças fundamentais entre objetos e primitivos é que objetos são armazenados e copiados por "referência", enquanto valores primitivos: strings, números, booleanos, etc -- são sempre copiados "como um valor integral".
44

55
Isso é fácil de entender se olharmos um pouco por debaixo dos panos do que acontece quando copiamos um valor.
66

77
Vamos começar com um primitivo, como uma string.
88

9-
Aqui colocamos uma cópia de `message` em `phrase`
9+
Aqui fazemos uma cópia de `message` para `phrase`
1010

1111
```js
1212
let message = "Hello!";
@@ -23,7 +23,7 @@ Objetos não são assim.
2323

2424
**Uma variável atribuída a um objeto armazena não o próprio objeto, mas sim o seu "endereço em memória" -- em outras palavras "uma referência" a ele.**
2525

26-
Vamos analisar um exemplo dessa variável
26+
Vamos analisar o exemplo dessa variável
2727

2828
```js
2929
let user = {
@@ -37,13 +37,13 @@ E aqui é como ela realmente está armazenada na memória
3737

3838
O objeto é armazenado em algum lugar na memória (à direita da imagem), enquanto a variável `user` (à esquerda) possui uma referência a ele.
3939

40-
Podemos pensar em uma variável de objeto, como `user`, como uma folha de papel com o endereço do objeto escrito nela.
40+
Podemos pensar em uma variável de objeto, `user`, como uma folha de papel com o endereço do objeto escrito nela.
4141

42-
Quando realizamos acões com o objeto, por exemplo, acessar a propriedade `user.name`, o motor do Javascript verifica o que está nesse endereço e realiza a operação no objeto real.
42+
Quando realizamos ações com o objeto, por exemplo, acessar a propriedade `user.name`, o motor do Javascript verifica o que está nesse endereço e realiza a operação no objeto real.
4343

44-
Agora está aqui o motivo pelo qual isso é importante.
44+
Agora está aqui o motivo pelo qual isso é importante:
4545

46-
**Quando uma variavel de objeto é copiada, a referência é copiada, mas o próprio objeto não é diplicado**
46+
**Quando uma variável de objeto é copiada, a referência é copiada, mas o próprio objeto não é diplicado**
4747

4848
Por exemplo:
4949

@@ -79,7 +79,7 @@ alert(*!*user.name*/!*); // 'Pete', alterações são vistas a partir da referê
7979
8080
Dois objetos são iguais apenas se possuem a mesma referência.
8181
82-
Por exemplo, aqui `a` e `b` referencia o mesmo objeto, portanto eles são iguais:
82+
Por exemplo, aqui `a` e `b` faz referência ao mesmo objeto, por isso eles são iguais:
8383
8484
```js run
8585
let a = {};
@@ -117,7 +117,7 @@ user.name = "Pete"; // (*)
117117
alert(user.name); // Pete
118118
```
119119

120-
Pode parecer que a linha `(*)` causaria uum erro, mas não causa. O valor de `user` é constante, ele deve sempre referenciar o mesmo objeto, porém as propriedades desse objeto são livres para mudar.
120+
Pode parecer que a linha `(*)` causaria um erro, mas não causa. O valor de `user` é constante, ele deve sempre referenciar o mesmo objeto, porém as propriedades desse objeto são livres para mudar.
121121

122122
Em outras palavras, o `const user` gera um erro apenas se tentarmos definir `user=...` como um todo.
123123

@@ -130,7 +130,7 @@ Sim, copiar uma variável de objeto cria mais uma referência para o mesmo objet
130130

131131
Mas e se precisamos duplicar um objeto?
132132

133-
Podemos crar um novo objeto e replicar a estrutura existente, iterando sobre suas propriedades e copiando-as no nível primitivo.
133+
Podemos criar um novo objeto e replicar a estrutura existente, iterando sobre suas propriedades e copiando-as no nível primitivo.
134134

135135
Como neste exemplo:
136136

@@ -177,7 +177,7 @@ let permissions1 = { canView: true };
177177
let permissions2 = { canEdit: true };
178178
179179
*!*
180-
// copia todas as prorpeidades de permissions1 e permissions2 para user
180+
// copia todas as propriedades de permissions1 e permissions2 para user
181181
Object.assign(user, permissions1, permissions2);
182182
*/!*
183183
@@ -299,9 +299,9 @@ let clone = structuredClone(user);
299299
alert(clone.me === clone); // true
300300
```
301301

302-
Como você pode ver `clone.me` referencia the `clone`, não o `user`! , As you can see, `clone.me` references the `clone`, not the `user`! Então a referência circular foi clonada também.
302+
Como você pode ver `clone.me` faz referência a `clone`, não a `user`! , Então a referência circular foi clonada corretamente também.
303303

304-
No entante, existem casos em que `structuredClone` falha.
304+
No entanto, existem casos em que `structuredClone` falha.
305305

306306
Por exemplo, quando um objeto possui uma propriedade que é uma função:
307307

@@ -318,8 +318,8 @@ Para lidar com casos complexos, podemos precisar usar uma combinação de métod
318318

319319
## Resumo
320320

321-
Objetos são atribuídos e copiados por referêbcia. Em outras palavras, uma variável armazena não o "valor do objeto", mas uma "referência" (endereço em memória) para o valor. Portanto, copiar tal variável ou passá-la como argumente de uma função copia essa referência, não o objeto em si.
321+
Objetos são atribuídos e copiados por referência. Em outras palavras, uma variável armazena não o "valor do objeto", mas uma "referência" (endereço em memória) para o valor. Portanto, copiar a variável ou passá-la como argumento de uma função copia essa referência, não o objeto em si.
322322

323-
Todas as operações via referências copiadas (como adicão/remoção de propriedades) são realizadas no mesmo objeto único.
323+
Todas as operações feitas através de referências copiadas (como adição/remoção de propriedades) são realizadas no mesmo objeto único.
324324

325-
Para fazer uma "cópia real" (um clone) podemos usar `Object.assign` para a chamada "cópia rasa" (objetos aninhados são copiados por referência) ou uma função `structuredClone` de "clonagem profunda" ou usar uma implementação de clonagem personalizada, como [\_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).
325+
Para fazer uma "cópia real" (um clone) podemos usar `Object.assign` caracterizando a chamada "cópia rasa" (objetos aninhados são copiados por referência) ou uma função `structuredClone` de "clonagem profunda" ou usar uma implementação de clonagem personalizada, como [\_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).

0 commit comments

Comments
 (0)