I found the difference in unknown
and any
when I was trying Deep Readonly
const f = () => 'string';
const a: { [key: string]: unknown } = f;
// Type '() => string' is not assignable to type '{ [key: string]: unknown; }'.
// Index signature for type 'string' is missing in type '() => string'.
const b: { [key: string]: any } = f;
// no error
Why are functions assignable to { [key: string]: any }
? I don't think functions have string keys.