个人理解
不一定正确
同态
使用了keyof extends keyof等
会在映射类型的之后
自动携带上readonly或?等属性符附加
非同态
间接的获取了字符串数组
如
type aaa={[k in 'a'|'b']:1}
即使存在属性符,因为没有使用keyof
依然是非同态的
即使提前keyof
然后再在[T in K]中使用
由于ts推断
也不会认为是同态的
使用Extract等函数
会推断出新的
也不会认为是同态的
参考
https://stackoverflow.com/questions/59790508/what-does-homomorphic-mapped-type-mean