expression is not a function TypeScript
Hibaüzenet
TS2349: Cannot invoke an expression whose type is not a functionHibás kód
let maybeFunc: any = 5;
maybeFunc();Javított kód
if (typeof maybeFunc === 'function') {
maybeFunc();
}Magyarázat
Expression is not a function hiba akkor fordul elő, amikor olyan változót próbálsz meghívni függvényként, ami nem rendelkezik call signaturesszel (pl. szám vagy objektum). A TypeScript ilyenkor hibát dob. A megoldás, hogy ellenőrzöd a típusát (`typeof maybeFunc === ‘function’`), vagy a változó típusát pontosabbra definiálod (`() => void`), hogy a fordító tudja, hogy hívható.
További információ: TypeScript Function Types
