any、unknown、never、void区别

定义

  • any: 用于描述任意类型的变量,不作任何约束,编译时会跳过对其的类型检查
  • unknow: 表示未知类型,即写代码的时候还不知道具体会是怎样的数据类型
  • never: 用不存在的值的类型,常用于表示永不能执行到终点的函数返回值,例如抛出异常或函数中执行无限循环的代码(死循环)的函数返回值类型
  • void: 表示无任何类型,没有类型,例如没有返回值的函数的返回值类型

any 与 unknown 的区别:

unknow 与 any 类似,但使用前必须进行断言或守卫

never 与 void 的区别:

用于函数时,never表示函数用于执行不到返回值那一步(抛出异常或死循环)的返回值类型,即永不存在的值的类型,而void则表示没有返回值,不返回或返回undefined

如何使用

  • 能不用any就不用any
  • 声明时如果不确定具体的类型,则可以使用unknow代替,在使用时用类型断言或类型守卫进行类型收缩
  • never常用于构造条件类型来组合出更灵活的类型定义
  • void 常用于表示函数没有返回值
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值