TS 2345 error "Type 'void' is not assignable to type '{}'"
May 2, 2023
This site utilizes Google Analytics, Google AdSense, as well as participates in affiliate partnerships with various companies including Amazon. Please view the privacy policy for more details.
So earlier today I had defined a little validation function type in TypeScript:
type validated = (valid: boolean) => {};
In my mind, the above type describes a function that takes a boolean and returns nothing. After all, it looks similar to the following JavaScript function:
valid => {};
But when I tried to use it, I got a TS 2345 error: Type 'void' is not assignable to type '{}'
.
Um, ok, aren’t I returning nothing… As in, void
?
Well, no, those double-curly brackets were more like an empty Object and less the brackets around an empty function body.
So I was saying I was essentially returning something like the following:
let object = {};
The solution? change () => {}
to () => void
:
type validated = (valid: boolean) => void;
Leave a Reply
Thank you. Your comment will be visible after approval.
Your comment has been submitted, but their seems to be an error. Check your browser console for more details.