问答

typescript 函数声明使用: 和=> 有什么不同?

作者:admin 2021-05-08 我要评论

interface Animal { Eat(): void }interface Dog extends Animal{ Bark():void }interface Cat extends Animal{ Meow():void }interface ComparerAT { compareA:...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
interface Animal { Eat(): void }

interface Dog extends Animal{ Bark():void }

interface Cat extends Animal{ Meow():void }

interface ComparerA<T> {
    compareA: (a: T, b: T) => number;
}
interface ComparerB<T> {
    compareA(a: T, b: T): number;
}
declare let animalA: ComparerA<Animal>;
declare let dogA: ComparerA<Dog>;

declare let animalB: ComparerB<Animal>;
declare let dogB: ComparerB<Dog>;

animalA = dogA; // 错误
dogA = animalA;  // 正确

animalB = dogB; // 正确
dogB = animalB;  // 正确

为什么: 和=> 声明出来的函数会有区别 一个是逆变 一个是双向协变呢?

###

没有差别的。如果报错检查下typescript的版本。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • typescript 函数声明使用: 和=&gt;

    typescript 函数声明使用: 和=&gt;

  • selenium中的phantomjs可以在浏览器中

    selenium中的phantomjs可以在浏览器中

  • vue项目打开打印机后 element-input 无

    vue项目打开打印机后 element-input 无

  • 如何检测服务是否有注册上nacos

    如何检测服务是否有注册上nacos

腾讯云代理商
海外云服务器