Skip to content

Function object, NFE - #481

Open
diogoosz wants to merge 1 commit into
javascript-tutorial:masterfrom
diogoosz:translate-function-object
Open

diogoosz wants to merge 1 commit into
javascript-tutorial:masterfrom
diogoosz:translate-function-object

Conversation

@diogoosz

@diogoosz diogoosz commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

Tradução do artigo "Function object, NFE" para o português, incluindo os exercícios.

Conforme comentado na #1.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
```

This `f` will be used in the next call, again return itself, as many times as needed. Then, when used as a number or a string -- the `toString` returns the `currentSum`. We could also use `Symbol.toPrimitive` or `valueOf` here for the conversion.
Esse `f` será usado na próxima chamada, de novo retornando a si mesma, quantas vezes forem necessárias. Então, quando usado como um número ou uma string -- o `toString` retorna o `currentSum`. Também poderíamos usar `Symbol.toPrimitive` ou `valueOf` aqui para a conversã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.

Concordância de gênero inconsistente: "Esse f será usado" (masc.) e "quando usado" vs "retornando a si mesma" (fem.). Sugestão: "Essa f será usada na próxima chamada, de novo retornando a si mesma... quando usada como um número" — ou manter tudo no masculino ("retornando a si mesmo").

Agora funciona, porque o nome `"func"` é local à função. Ele não é pego de fora (e nem é visível lá fora). A especificação garante que ele sempre vai referenciar a função atual.

The outer code still has its variable `sayHi` or `welcome`. And `func` is an "internal function name", the way for the function to call itself reliably.
O código externo ainda tem sua variável `sayHi` ou `welcome`. E `func` é um "nome interno de função", a forma da função chamar a si mesma de forma confiável.

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.

Norma culta: não se contrai preposição com artigo do sujeito de infinitivo. Sugestão: "a forma de a função chamar a si mesma de forma confiável" (ou "o modo pelo qual a função chama a si mesma de forma confiável").

sayHi(); // Hi

alert( `Called ${sayHi.counter} times` ); // Called 2 times
alert( `Chamada ${sayHi.counter} vezes` ); // Chamada 2 vezes

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.

Aqui a string do alert foi traduzida ("Chamada ... vezes"), mas as demais strings de código do artigo seguem em inglês ("Hi", "Hello, John", "Guest", "Question?", "You said yes"). Sugiro escolher um critério e aplicá-lo de forma consistente no artigo.

```

What's kind of funny, the name-assigning logic is smart. It also assigns the correct name to a function even if it's created without one, and then immediately assigned:
O que é meio engraçado, a lógica de atribuição do nome é esperta. Ela também atribui o nome correto a uma função mesmo quando ela é criada sem um nome, e depois imediatamente atribuída:

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.

Tradução literal soa estranha: "O que é meio engraçado, a lógica...". Sugestão: "Curiosamente, a lógica de atribuição do nome é esperta."

assert.equal( counter(), 0 );
assert.equal( counter(), 1 );
assert.equal( counter(), 2 );
assert.equal( counter(), 0 );

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.

Mudanças só de whitespace (remoção de espaços no fim das linhas) neste arquivo não fazem parte da tradução e aumentam a divergência com o upstream (en.javascript.info), gerando conflitos desnecessários em syncs futuros. Sugiro reverter essas linhas e manter só a tradução dos it(...).

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.

2 participants