You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A common idiom in JavaScript is to filter an array using Boolean as a filter function to remove falsy values. To make this useful in TypeScript, Boolean should act as a type guard:
+type Falsy = false | 0 | '' | null | undefined;
interface BooleanConstructor {
new (value?: any): Boolean;
- (value?: any): boolean;+ <A>(value: A | Falsy): x is A;
readonly prototype: Boolean;
}
Examples
// The type of `numbers` should be `number[]` but currently it is `(number | undefined)[]`.constnumbers=[1,2,undefined,3].filter(Boolean);
Checklist
My suggestion meets these guidelines:
This wouldn't be a breaking change in existing TypeScript/JavaScript code (I think this is true?)
This wouldn't change the runtime behavior of existing JavaScript code
This could be implemented without emitting different JS based on the types of the expressions
This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
Search Terms
boolean
type
guard
Suggestion
A common idiom in JavaScript is to filter an array using
Boolean
as a filter function to remove falsy values. To make this useful in TypeScript,Boolean
should act as a type guard:Examples
Checklist
My suggestion meets these guidelines:
The text was updated successfully, but these errors were encountered: