facebook / facebook/flow

Improve error message for undeclared class property initialization

Ouverte
#643 0 commentaires 2 réactions 0 personnes assignées Voir sur GitHub
error messages
Langage dominant
Rust
Étoiles
22.3k
Forks
1.9k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Flow requires that class properties be declared before they can be initialized in a constructor. This behavior is reasonable, but the error message should guide the user to the solution:

``` javascript
/* @flow */

class Foo {
constructor() {
this.bar = "baz";
}
}
```

```
test.js|5 col 5 error| assignment of property bar
|| Property not found in
test.js|3 col 7 error| Foo
||
```

A better error message would direct the user to declare the type of `bar`, as follows:

``` javascript
/* @flow */

class Foo {
bar: string;
constructor() {
this.bar = "baz";
}
}
```

```
|| No errors!
```

A better message might be "Property must be declared in class."

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.