Typescript入门__8__类型推断

171 阅读1分钟

1、基础

Typescript里,在没有明确指出类型的地方,类型推断会提供类型。

let x = 3;//x被推断为数字
这种推断发生在初始化变量和成员,设置默认参数值和决定函数返回值时

2、最佳通用类型

let x = [0,1,null];
考虑所有元素成员,给出一个兼容所有候选类型的类型

let zoo = [new Rhino(), new Elephant(), new Snake()];
如果没有找到最佳通用类型的话,类型推断为联合数组类型
(Rhino | Elephant | Snake)[]。

3、上下文类型

按上下文归类:Typescript类型推论也可以按照相反的方向进行。

// 参数不设置默认类型  
function (obj){   
   console.log(obj.name);// Error 
  }   
 // 参数设置类型any不报错 
 //这个函数表达式有明确的参数类型注解,上下文类型被忽略
  function (obj:any){  
    console.log(obj.name);// No Error 
 }