basarat / typescript-book

:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹
https://basarat.gitbook.io/typescript/
Other
20.87k stars 2.56k forks source link

fix: TypeScript's option checking return value should be `noImplicitReturns` #700

Open stefafafan opened 2 months ago

stefafafan commented 2 months ago

This following portion of the documentation is incorrect, strictNullChecks does not have to do with the "not all code paths return a value" check, it is noImplicitReturns that checks this.

If using strictNullChecks and doing exhaustive checks, TypeScript might complain "not all code paths return a value". You can silence that by simply returning the _exhaustiveCheck variable (of type never). https://basarat.gitbook.io/typescript/type-system/discriminated-unions#strictnullchecks

Playground example: