Closed onebytegone closed 2 months ago
Toolbox contains type guards for generic types such as isNumber. However, for booleans we have to resort to something like:
isNumber
interface Animal { isAdoptable?: boolean; } const stuffedTiger: Animal = {}, russianBlue: Animal = { isAdoptable: true }; // Type 'undefined' is not assignable to type 'boolean'. (2322) const isAdoptable: boolean = stuffedTiger.isAdoptable; if (stuffedTiger.isAdoptable === false || stuffedTiger.isAdoptable === true) { // works const isAdoptable: boolean = stuffedTiger.isAdoptable; } if (stuffedTiger.isAdoptable !== undefined) { // works const isAdoptable: boolean = stuffedTiger.isAdoptable; }
TS Playground: https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgIImAWzgG2QbwChkTgBnVAEwHsAHMOAIxwgH4AuZR66luEANyEAvoUIJqIMmGTSArjBgRKAFWABzaJ3RZcyALwFhAGmIlzUOWTLB+AIRxyI2jNjyH8yclToNmz5DBLFGEhQgB6cOQVAE9aFAByORBKCBhQZQSvMmQQahk4aw0QJhZA6kC4xO5eCH4EgDpkAAoAJgBmVtaASnFJaWyfelKAmr4QA1kwBSVVDWgG7xph-zDgGBb5RWU1TShFimW-Mv1T5HgcMhQAH2upmZ35-aXfEYMzoKdugjNkSOQAO7UKAAazIvwkUhkLxWLE4YzqE0MW1muwWMOOECEokI602022cz2ByGmOQAEIzslUukQMpvkRzP8gaDweZIQMMSN4TxxpMUY9iVzViIgA
We should add an isBoolean type guard.
isBoolean
Toolbox contains type guards for generic types such as
isNumber
. However, for booleans we have to resort to something like:TS Playground: https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgIImAWzgG2QbwChkTgBnVAEwHsAHMOAIxwgH4AuZR66luEANyEAvoUIJqIMmGTSArjBgRKAFWABzaJ3RZcyALwFhAGmIlzUOWTLB+AIRxyI2jNjyH8yclToNmz5DBLFGEhQgB6cOQVAE9aFAByORBKCBhQZQSvMmQQahk4aw0QJhZA6kC4xO5eCH4EgDpkAAoAJgBmVtaASnFJaWyfelKAmr4QA1kwBSVVDWgG7xph-zDgGBb5RWU1TShFimW-Mv1T5HgcMhQAH2upmZ35-aXfEYMzoKdugjNkSOQAO7UKAAazIvwkUhkLxWLE4YzqE0MW1muwWMOOECEokI602022cz2ByGmOQAEIzslUukQMpvkRzP8gaDweZIQMMSN4TxxpMUY9iVzViIgA
We should add an
isBoolean
type guard.