I\'m struggling to figure out if it\'s possible in TypeScript to declare a statically typed array of functions.
For example, I can do this:
foo: (data:st
Other (newer, more readable) ways to type an array of functions using fat arrows:
let foo: Array<(data: string) => void>;
let bar: ((data: string) => void)[];
You can find this in the language spec section 3.5.5:
foo: { (data: string): void; } []
or foo: ((data: string) => void)[]
If you wish declare an array of callable function in TypeScript, you can declare a type:
type Bar = (
(data: string) => void
);
And then use it:
const foo: Bar[] = [];
const fooFn = (data: string) => console.log(data);
foo.push(fooFn);
foo.forEach((fooFn: Bar) => fooFn("Something");