Skip to content
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

Objects references and copying #223

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

matdomis
Copy link

@matdomis matdomis commented Sep 2, 2021

I've not translated the code variables (but the comments I did of course) because It's ok to write and read code in english.

@CLAassistant
Copy link

CLAassistant commented Sep 2, 2021

CLA assistant check
All committers have signed the CLA.

Copy link
Contributor

@odsantos odsantos left a comment

Choose a reason for hiding this comment

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

Hello @matdomis ,

Here is a review.
Please, keep special formatting characters (such as !) and blank lines for conforming to the original file, and feel free to comment where you might disagree.

Thank you.


Here we put a copy of `message` into `phrase`:
Aqui colocamos uma copia de `message` para `phrase`:
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
Aqui colocamos uma copia de `message` para `phrase`:
Aqui colocamos uma copia de `message` em `phrase`:


As a result we have two independent variables, each one storing the string `"Hello!"`.
Como resultado nós temos duas variáveis independentes, cada uma armazenando uma string `"Hello!".`
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
Como resultado nós temos duas variáveis independentes, cada uma armazenando uma string `"Hello!".`
Como resultado nós temos duas variáveis independentes, cada uma armazenando a string `"Hello!".`

@@ -248,17 +248,17 @@ user.name = "Pete"; // (*)
alert(user.name); // Pete
```

It might seem that the line `(*)` would cause an error, but it does not. The value of `user` is constant, it must always reference the same object, but properties of that object are free to change.
Pode parecer que a linha (*) causaria um erro, mas não causa. O valor de `user` é constante, precisa sempre referenciar o mesmo objeto, mas propriedades desse objeto são livres para serem alteradas.
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
Pode parecer que a linha (*) causaria um erro, mas não causa. O valor de `user` é constante, precisa sempre referenciar o mesmo objeto, mas propriedades desse objeto são livres para serem alteradas.
Pode parecer que a linha (*) causaria um erro, mas não causa. O valor de `user` é constante, precisa de sempre referenciar o mesmo objeto, mas propriedades desse objeto são livres de serem alteradas.


That said, if we really need to make constant object properties, it's also possible, but using totally different methods. We'll mention that in the chapter <info:property-descriptors>.
Dito isso, se realmente precisarmos criar propriedades constantes no objeto, também é possível, mas usando métodos totalmente diferentes. Iremos menconar isso no capítulo <info:property-descriptors>.
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
Dito isso, se realmente precisarmos criar propriedades constantes no objeto, também é possível, mas usando métodos totalmente diferentes. Iremos menconar isso no capítulo <info:property-descriptors>.
Dito isso, se realmente precisarmos de criar propriedades constantes no objeto, também é possível, mas usando métodos totalmente diferentes. Iremos menconar isso no capítulo <info:property-descriptors>.


Objects are assigned and copied by reference. In other words, a variable stores not the "object value", but a "reference" (address in memory) for the value. So copying such a variable or passing it as a function argument copies that reference, not the object itself.
Objetos são atribuidos e copiados por referência. Em outras palavras, uma variável armazena não o "valor do objeto", mas sim sua "referência" (endereço na memória) para o valor. Então copiar tal variável ou passar ela como um argumento de uma função copia a referência, não o proprio objeto.
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
Objetos são atribuidos e copiados por referência. Em outras palavras, uma variável armazena não o "valor do objeto", mas sim sua "referência" (endereço na memória) para o valor. Então copiar tal variável ou passar ela como um argumento de uma função copia a referência, não o proprio objeto.
Objetos são atribuidos e copiados por referência. Por outras palavras, uma variável armazena não o "valor do objeto", mas sim uma "referência" (endereço na memória) para o valor. Então copiar tal variável ou passar ela como um argumento de uma função copia a referência, não o proprio objeto.


All operations via copied references (like adding/removing properties) are performed on the same single object.
Todas as operações por meio de referências copiadas(como adicionar/remover propriedades) são realizadas no mesmo objeto único.
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
Todas as operações por meio de referências copiadas(como adicionar/remover propriedades) são realizadas no mesmo objeto único.
Todas as operações por meio de referências copiadas(como adicionar/remover propriedades) são realizadas no mesmo único objeto.


To make a "real copy" (a clone) we can use `Object.assign` for the so-called "shallow copy" (nested objects are copied by reference) or a "deep cloning" function, such as [_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).
Para criar uma "cópia real" (um clone) podemos usar `Object.assign` para o então chamado "cópia superficial" (objetos aninhados são copiados por referência) ou uma função de "clonagem profunda", como a [_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).
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
Para criar uma "cópia real" (um clone) podemos usar `Object.assign` para o então chamado "cópia superficial" (objetos aninhados são copiados por referência) ou uma função de "clonagem profunda", como a [_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).
Para criar uma "cópia real" (um clone) podemos usar `Object.assign` para a chamada "cópia superficial" (objetos aninhados são copiados por referência) ou uma função de "clonagem profunda", como a [_.cloneDeep(obj)](https://lodash.com/docs#cloneDeep).

@javascript-translate-bot

Please make the requested changes. After it, add a comment "/done".
Then I'll ask for a new review 👻

@odsantos
Copy link
Contributor

Hello @matdomis ,

Please, when you are able to work on the requested review changes, do not forget the above instruction from the bot.

Thank you.

@matdomis
Copy link
Author

/done

@odsantos
Copy link
Contributor

Hello @matdomis , you marked as '\done' but I still see my last review suggestions. Thanks.

@odsantos
Copy link
Contributor

Hi @matdomis ,

Are you no longer available for this one?

Thanks,
Osvaldo.

@nazarepiedady
Copy link
Member

@Peruibeloko, @jonnathan-ls, do you have time to see what is possible to do in relation to this pull request?

@Peruibeloko
Copy link
Contributor

@nazarepiedady I'm solving the merge conflicts

@Peruibeloko
Copy link
Contributor

@nazarepiedady @odsantos @jonnathan-ls the merge conflict is resolved on my fork

@nazarepiedady
Copy link
Member

@Peruibeloko, you need to do another pull request to be merged. I will close this, and reassign the task to you, because this looks abandoned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants