Skip to content

Commit e3f4715

Browse files
committed
refactor: add adjustments as per code review suggestions
1 parent 77c77b5 commit e3f4715

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

1-js/09-classes/01-class/article.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ class MyClass {
2525
}
2626
```
2727

28-
Então use `new MyClass()` para criar um novo objeto com todos os métodos listados.
28+
Então use `new MyClass()` para criar um objeto com todos os métodos listados.
2929

30-
The `constructor()` method is called automatically by `new`, so we can initialize the object there.
3130
O método `constructor()` é executado automaticamente pela declaração de `new`, então realizamos a inicialização o objeto através dessa chamada.
3231

3332
Por exemplo:
@@ -55,10 +54,10 @@ Quando `new User("John")` é executado:
5554
1. Um novo objeto é criado (também descrito como tendo sido `instanciado`).
5655
2. O `construtor` é executado com o argumento fornecido e o atribui a `this.name`.
5756

58-
...Então podemos chamar os métodos do objetos `User`, como `user.sayHi()`.
57+
...Então podemos chamar os métodos do objeto `User`, como `user.sayHi()`.
5958

6059

61-
```warn header="No comma between class methods"
60+
```warn header="Sem vírgula entre métodos de classe"
6261
Uma armadilha comum para desenvolvedores iniciantes é colocar uma vírgula entre os métodos de classe, o que resultaria em um erro de sintaxe.
6362
6463
A notação aqui não deve ser confundida com `Object Literals`. Dentro da classe, não são necessárias vírgulas.
@@ -142,11 +141,11 @@ let user = new User("John");
142141
user.sayHi();
143142
```
144143

145-
O resultado desta definição é aproximadamente o mesmo. Portanto, existem de fato razões pelas quais `class` pode ser considerado um açúcar sintático para definir um construtor junto com seus métodos de protótipo.
144+
O resultado desta definição é aproximadamente o mesmo. Portanto, existem de fato razões pelas quais `class` pode ser considerado um açúcar sintático para definir um construtor com seus métodos de protótipo.
146145

147146
Ainda assim, existem diferenças importantes.
148147

149-
1. Primeiro, uma função criada por `class` é rotulada por uma propriedade interna especial `[[IsClassConstructor]]: true`. Portanto, não é exatamente o mesmo que criá-lo manualmente.
148+
1. Primeiro, uma função criada por `class` é rotulada por uma propriedade interna especial `[[IsClassConstructor]]: true`. Portanto, não é o mesmo que criá-lo manualmente.
150149

151150
A linguagem verifica essa propriedade em vários lugares. Por exemplo, diferente de uma função normal, ela deve ser chamada com `new`:
152151

@@ -212,7 +211,7 @@ new User().sayHi(); // funciona, mostra a definição de MyClass
212211
alert(MyClass); // erro, o nome MyClass não é visível fora da classe
213212
```
214213

215-
Podemos até fazer aulas dinamicamente "sob demanda", assim:
214+
Podemos até fazer uma classe dinamicamente "sob demanda", assim:
216215

217216
```js run
218217
function makeClass(phrase) {
@@ -289,11 +288,11 @@ class User {
289288
new User().sayHi();
290289
```
291290

292-
Esses recursos são fáceis de lembrar, pois se assemelham aos de objetos literais.
291+
Esses recursos são fáceis de lembrar, pois, se assemelham aos de objetos literais.
293292

294293
## Campos de classe
295294

296-
```warn header="Old browsers may need a polyfill"
295+
```warn header="Navegadores antigos podem precisar de um polyfill"
297296
Os campos de classe são uma adição recente a linguagem.
298297
```
299298

@@ -378,7 +377,7 @@ O problema é chamado de "perder `this`".
378377
Existem duas abordagens para corrigi-lo, conforme discutido no capítulo <info:bind>:
379378

380379
1. Passe uma função wrapper, como `setTimeout(() => button.click(), 1000)`.
381-
2. Vincule o método ao objeto, por exemplo. no construtor.
380+
2. Vincule o método ao objeto, por exemplo, no construtor.
382381

383382
Os campos de classe fornecem outra sintaxe bastante elegante:
384383

0 commit comments

Comments
 (0)