JS中的typeof操作符

  1. console.log(typeof"hello world")//打印string

TS中的typeof操作符

  1. let p = {x:1 ,y:2 }
  2. //使用类型上下文指定函数类型
  3. function formatPoint(point: typeof p){}
  4. //传统的写法(写法等价)
  5. function formatPoint(point: {x:number;y:number}){}
  6. formatPoint({x:1 ,y:100})
  7. //查询对象属性
  8. let num: typeof p.x
  9. //等价于
  10. let num:number

TS中不可查询返回值类型

  1. function add(num1:number , num2:number){
  2. return num1+ num2
  3. }
  4. let ret: typeof add(1,2)//报错

总结:TS相对JS增加了类型上下文功能,且TS不可以查询返回值的类型