Microsoft/TypeScript
Auf GitHub ansehenswitch-true case-true narrowing not equivalent to default case.
Open
#59.133 geöffnet am 3. Juli 2024
Domain: check: Control FlowHelp WantedPossible Improvement
Repository-Metriken
- Stars
- (48.455 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 6T 17h) (9 gemergte PRs in 30 T)
Beschreibung
🔎 Search Terms
"switch true" "switch-true" switch true narrowing. Most issues that turned up were from 2023 which I think precedes the release of the switch-true type narrowing feature?
🕗 Version & Regression Information
- This is a gap
⏯ Playground Link
💻 Code
function uhoh(input: string) : "A"|"B"|"C" {
switch (true) {
case /a/.test(input):
return "A";
case /b/.test(input):
return "B";
case true: // <--- default: works fine here
return "C";
}
}
🙁 Actual behavior
Complains that the result of uhoh could be undefined.
🙂 Expected behavior
switch(true) { case true: } should behave like switch(true) { default: }, probably?