Skip to content

Destructuring assignment - #462

Merged
gabifs merged 2 commits into
javascript-tutorial:masterfrom
diogoosz:translate-destructuring-assignment
Nov 6, 2026
Merged

gabifs merged 2 commits into
javascript-tutorial:masterfrom
diogoosz:translate-destructuring-assignment

Conversation

@diogoosz

@diogoosz diogoosz commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Tradução do artigo "Destructuring assignment" para o português, incluindo os dois exercícios.

Conforme comentado na #1.

@CLAassistant

CLAassistant commented Nov 4, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@gabifs gabifs left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Obrigado pela tradução, @diogoosz! Ficou bem fluida. Gostei também da correção no Resumo (defaultValue em vez de default, que agora bate com o código). Deixei algumas sugestões pequenas, a maioria pode ser aplicada direto pelo botão de sugestão.

```

In real-life, the problem is how to remember the order of arguments. Usually, IDEs try to help us, especially if the code is well-documented, but still... Another problem is how to call a function when most parameters are ok by default.
Na prática, o problema é como lembrar a ordem dos argumentos. Normalmente as IDEs tentam nos ajudar, principalmente se o código estiver bem documentado, mas ainda assim... Outro problema é como chamar uma função quando a maioria dos parâmetros já está bom com o valor padrão.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pequeno erro de concordância: "a maioria dos parâmetros já está bom".

Suggested change
Na prática, o problema é como lembrar a ordem dos argumentos. Normalmente as IDEs tentam nos ajudar, principalmente se o código estiver bem documentado, mas ainda assim... Outro problema é como chamar uma função quando a maioria dos parâmetros já está bom com o valor padrão.
Na prática, o problema é como lembrar a ordem dos argumentos. Normalmente as IDEs tentam nos ajudar, principalmente se o código estiver bem documentado, mas ainda assim... Outro problema é como chamar uma função quando a maioria dos parâmetros já está boa com o valor padrão.

// width, height – defaults used
// title, items – vêm de options,
// width, height – usam o valor padrão
alert( `${title} ${width} ${height}` ); // My Menu 200 100

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

O comentário não bate com a saída real: options.title é "My menu" (com "m" minúsculo), então o alert mostra My menu 200 100. O erro já vem do original em inglês, mas como o trecho foi mexido, vale corrigir aqui.

Suggested change
alert( `${title} ${width} ${height}` ); // My Menu 200 100
alert( `${title} ${width} ${height}` ); // My menu 200 100

items: [item1, item2] // primeiro elemento de items vai para item1, segundo para item2
}) {
*/!*
alert( `${title} ${w} ${h}` ); // My Menu 100 200

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Mesmo caso do exemplo anterior: o título passado é "My menu".

Suggested change
alert( `${title} ${w} ${h}` ); // My Menu 100 200
alert( `${title} ${w} ${h}` ); // My menu 100 200

E se o objeto tiver mais propriedades do que temos variáveis? Dá pra pegar algumas e jogar "o resto" em outro lugar?

We can use the rest pattern, just like we did with arrays. It's not supported by some older browsers (IE, use Babel to polyfill it), but works in modern ones.
Podemos usar o padrão de resto, assim como fizemos com arrays. Ele não é suportado em alguns navegadores mais antigos (IE, use o Babel para fazer o polyfill), mas funciona nos navegadores modernos.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

(Opcional) Nossa diretriz pede para evitar palavras estrangeiras quando der. "Polyfill" é termo técnico consagrado, então pode ficar, mas fica a sugestão caso prefira:

Suggested change
Podemos usar o padrão de resto, assim como fizemos com arrays. Ele não é suportado em alguns navegadores mais antigos (IE, use o Babel para fazer o polyfill), mas funciona nos navegadores modernos.
Podemos usar o padrão de resto, assim como fizemos com arrays. Ele não é suportado em alguns navegadores mais antigos (no IE, use o Babel para dar suporte), mas funciona nos navegadores modernos.

@@ -13,18 +13,18 @@ let user = {
};
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

"que leia: a propriedade name para a variável name" ficou um pouco literal ("reads X into Y"). Algo como "extraia" soa mais natural:

Suggested change
Escreva a atribuição via desestruturação que extraia:

@@ -1,89 +1,89 @@
# Destructuring assignment
# Atribuição via desestruturação

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Só para alinhar: aqui está "atribuição via desestruturação", mas em 1-js/05-data-types/05-array-methods/9-shuffle/solution.md usamos "atribuição de desestruturação". Não precisa mudar neste PR, mas seria bom escolher um termo e usar em todo o tutorial. Qual você prefere?

@diogoosz

diogoosz commented Nov 6, 2026

Copy link
Copy Markdown
Contributor Author

Obrigado pela revisão, @gabifs! Apliquei tudo: corrigi a concordância, as duas ocorrências de "My Menu" (pra bater com o valor real "My menu"), ajustei o trecho do polyfill, e troquei "leia" por "extraia".

Sobre o termo: como 9-shuffle/solution.md já usa "atribuição de desestruturação", segui esse precedente e padronizei pra "de" em todo o artigo (título incluso). Acho que faz mais sentido manter o termo que já estava estabelecido no repo do que criar uma segunda variação.

@gabifs
gabifs merged commit 65359f4 into javascript-tutorial:master Nov 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants