-
Notifications
You must be signed in to change notification settings - Fork 112
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
Decorators and forwarding, call/apply #218
Decorators and forwarding, call/apply #218
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @nazarepiedady ,
Here is a partial review.
The comments and 'it' strings in the folder '1-js\06-advanced-functions\09-call-apply-decorators\01-spy-decorator_js.view' seem that were not translated.
The same for '1-js\06-advanced-functions\09-call-apply-decorators\02-delay_js.view\test.js', '1-js\06-advanced-functions\09-call-apply-decorators\03-debounce_js.view\test.js', and 1-js\06-advanced-functions\09-call-apply-decorators\03-debounce\debounce.view\index.html, except one-words like "delay", "test", 'a', and 'debounce' on _js.view or function names.
The article review is still missing, and hopefully shall be done at the earliest opportunity.
Thank you.
1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/task.md
Outdated
Show resolved
Hide resolved
1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/task.md
Outdated
Show resolved
Hide resolved
1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/task.md
Outdated
Show resolved
Hide resolved
1-js/06-advanced-functions/09-call-apply-decorators/01-spy-decorator/solution.md
Outdated
Show resolved
Hide resolved
1-js/06-advanced-functions/09-call-apply-decorators/02-delay/solution.md
Outdated
Show resolved
Hide resolved
1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/task.md
Outdated
Show resolved
Hide resolved
1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/task.md
Outdated
Show resolved
Hide resolved
1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/task.md
Outdated
Show resolved
Hide resolved
1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/task.md
Outdated
Show resolved
Hide resolved
1-js/06-advanced-functions/09-call-apply-decorators/04-throttle/task.md
Outdated
Show resolved
Hide resolved
Please make the requested changes. After it, add a comment "/done". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @nazarepiedady , here is the article review as well.
I look forward to reviewing the files which still need to be translated under this main folder.
Thank you.
Please make the requested changes. After it, add a comment "/done". |
…orator/task.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…orator/task.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…orator/solution.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…olution.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…olution.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…e/task.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…olution.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…olution.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…e/task.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…e/task.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…e/task.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…e/task.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…e/task.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…olution.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…ask.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
…ask.md Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
Co-authored-by: Osvaldo Dias dos Santos <vadodsantos@yahoo.com>
/done |
@odsantos, I finally updated this pull request, so I think we can go ahead to review it to start to translate others as soon as possible. |
@jonnathan-ls, @Peruibeloko, do you have time to review it? |
@@ -27,4 +27,4 @@ for (let args of work.calls) { | |||
} | |||
``` | |||
|
|||
P.S. That decorator is sometimes useful for unit-testing. Its advanced form is `sinon.spy` in [Sinon.JS](http://sinonjs.org/) library. | |||
Pós-escrito: Este decorador é algumas vezes útil para testes unitários. Sua forma avançada é `sinon.spy` na biblioteca [Sinon.JS](http://sinonjs.org). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pós-escrito: Este decorador é algumas vezes útil para testes unitários. Sua forma avançada é `sinon.spy` na biblioteca [Sinon.JS](http://sinonjs.org). | |
P.S. Esse decorador pode eventualmente ser útil para testes unitários. Sua forma avançada é `sinon.spy` na biblioteca [Sinon.JS](http://sinonjs.org). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fique a vontade para manter o "Pós-escrito" :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Peruibeloko, I need to keep it because it helps increase the comprehension of the content.
``` | ||
|
||
Please note how an arrow function is used here. As we know, arrow functions do not have own `this` and `arguments`, so `f.apply(this, arguments)` takes `this` and `arguments` from the wrapper. | ||
Nota como é utilizada aqui uma função de seta (ou função anónima). Como sabemos, as funções de seta não possuem `this` e `arguments` próprios, então `f.apply(this, arguments)` recebe o `this` e `arguments` da função envolvente. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nota como é utilizada aqui uma função de seta (ou função anónima). Como sabemos, as funções de seta não possuem `this` e `arguments` próprios, então `f.apply(this, arguments)` recebe o `this` e `arguments` da função envolvente. | |
Note como é utilizada aqui uma função de seta. Como sabemos, as funções de seta não possuem `this` e `arguments` próprios, então `f.apply(this, arguments)` recebe o `this` e `arguments` da função envolvente. |
Funções de seta e funções anônimas não são conceitos equivalentes, funções de seta podem ser nomeadas e funções anônimas podem ser declaradas usando function
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Peruibeloko, I think you are not remembering that anonymous functions could be named.
To illustrate what I want to tell, consider this humble example below:
let getName = function(name) { return name }
console.log(`${getName('Marcos')} was called by ${getName.name} function`)
getName = (name) => name
console.log(`${getName('Marcos')} was called by ${getName.name} function`)
I recommend you to try to run the code above to see what I am talking about.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nazarepiedady On your example, neither function is anonymous:
- The first one creates an anonymous function, which then gets named as
getName1
- The second one creates a named arrow function called
getName2
.
An anonymous function is, by definition, a function without a name.
A better example would be:
// Anonymous function expression
console.log((function() {}).name)
// Named function declaration
console.log((function namedDeclaration() {}).name)
// Anonymous arrow function
console.log((() => {}).name)
// Named arrow function
const namedArrow = () => {}
console.log(namedArrow.name)
Which correctly prints out:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Peruibeloko, You are absolutely correct, I was not remembered about this approach.
Please make the requested changes. After it, add a comment "/done". |
/done |
@Peruibeloko, could you review how things are now? |
@nazarepiedady I left a comment explaining my suggestion a little better, but the changes look ok! |
Thank you 💖 I updated the Progress Issue #1 🎉 🎉 🎉 |
I did the possible to translate the better I could, if there is any grammar errors and I'll seek time to make right corrections to it.