zoukankan      html  css  js  c++  java
  • TypeScript 之 类型推导

    • https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Type Inference.html

    • 类型推导:发生在初始化变量和成员,设置默认参数值和决定函数返回值时。

    • 最佳通用类型
      计算通用类型算法会考虑所有的候选类型,并给出一个兼容所有候选类型的类型。
      由于最终的通用类型取自候选类型,有些时候候选类型共享相同的通用类型,但是却没有一个类型能做为所有候选类型的类型。例如:

    let zoo = [new Rhino(), new Elephant(), new Snake()];
    

    这里,我们想让zoo被推断为Animal[]类型,但是这个数组里没有对象是Animal类型的,因此不能推断出这个结果。 为了更正,当候选类型不能使用的时候我们需要明确的指出类型:

    let zoo: Animal[] = [new Rhino(), new Elephant(), new Snake()];
    

    如果没有找到最佳通用类型的话,类型推论的结果是空对象类型,{}。 因为这个类型没有任何成员,所以访问其成员的时候会报错。

    • 上下文类型
      有明确的参数类型注解,上下文类型会被忽略。
      上下文类型也会做为最佳通用类型的候选类型。
  • 相关阅读:
    一篇文章讲清楚markdown
    webservice初体验-cxf
    IReport与web项目整合
    泛型
    观察者模式
    策略模式
    设计模式与面向对象
    JavaI/O(输入/输出)
    面向对象
    Java基础类库
  • 原文地址:https://www.cnblogs.com/cag2050/p/9553511.html
Copyright © 2011-2022 走看看