TypeScript 之 类型推导(待补充)

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

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

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

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

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

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

  • 上下文类型
    有明确的参数类型注解,上下文类型会被忽略。
    上下文类型也会做为最佳通用类型的候选类型。

猜你喜欢

转载自www.cnblogs.com/cag2050/p/9553511.html