facebook / facebook/flow

[Enhancement Proposal] Detect pointless conditionals.

Offen
#4,889 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement feature request
Vorherrschende Sprache
Rust
Sterne
22.3k
Forks
1.9k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

This is a feature request that will likely require some discussion and bikeshedding.

Often in Javascript we will check if a value is undefined and do something based on that. Sometimes, however, a value is never defined and the code inside the conditional becomes unreachable. Flow is in a unique position to detect this and warn about it.

Here's a minimal example to explain what I mean:

```js
/* @flow */

// empty exact object type
type Data = {|
foo: string
|}

const data: Data = {
foo: "hello there"
}

// unreachable if statement
if (data.bar) {
console.log('Launch the rockets!')
}

// unreachable default value
console.log(data.bar || 'Default Value')
```

Here flow has the ability to unequivocally know that the value will not be defined, but the conditional implies that the programmer expected the value to be defined at some point.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.