facebook / facebook/flow

Type refinement isn't detected when value is assigned to a variable first

Offen
#4,874 0 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
22.3k
Forks
1.9k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

An example speaks louder than words:

```js
type Err = {
status: 'Err',
msg: string,
}

type Ok = {
status: 'Ok',
data: number,
}

type Result = Err | Ok

const result: Result = JSON.parse('{"status": "Ok", "data": 5}')

// this works
if (result.status === 'Ok') {
console.log(result.data * 2)
}

// But this doesn't work!
const status = result.status
if (status === 'Ok') {
console.log(result.data * 2)
}
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

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