TypeScript的文档随附Compiler Options,其中--strictFunctionTypes
随其描述一起定义。不幸的是,无法获得双变量参数。我也尝试了解https://github.com/Microsoft/TypeScript/wiki/FAQ#why-are-function-parameters-bivariant。
答案 0 :(得分:2)
“双变量”参数既是协变的又是协变的。
TypeScript 2.6 release notes很好地描述了--strictFunctionTypes
编译器选项,因为它是第一个支持该选项的版本。
在--strictFunctionTypes下,函数类型参数的位置将反向而不是双变量地进行检查。要了解有关什么是函数类型差异的背景知识,请查看What are covariance and contravariance?。
本文中引用该链接的文章描述了协方差和逆方差之间的区别: https://www.stephanboyer.com/post/132/what-are-covariance-and-contravariance