1:any类型

任何类型都可以是any类型,any类型就相当于是免检标签,给了开发者很大的自由,typescript允许any类型的值进行任何操作,对它一路绿灯。

let score: any = 666.66;
let num = Math.round(score); // ok

2:unknown类型

任何类型也都可以是unknown类型,但与any完全相反,unknown类型就像是typescript给打上了一个重点检查的标签。在没有对它进行类型检查之前,ubnknow类型的变量是不能进行任何操作的。

let score: unknown = 666.66;
let num = Math.round(score);

3:那如何使unknown类型能正常使用呢?

1.很简单,先进行类型判断

let score: unknown = 666.66;
if(typeof score === "number") {let num = Math.round(score); // ok
}

2.断言

let score: unknown = 666.66;
let num = Math.round(score as number);
# 或
let num = Math.Round(<number>score);

区别:

  1. any 会绕过类型检查,直接可用,而 unkonwn 则必须要在判断完它是什么类型之后才能继续用

TypeScript中any与unknown的区别相关推荐

  1. ts中any 、unKnown的区别

    ts中any .unKnown的区别 any和unknown 两者都是顶级类型(top type),任何类型的值都可以赋值给顶级类型变量 const a:any = '字符串'//不报错 const ...

  2. TypeScript中any、unknown、void、never类型讲解

    TypeScript中any.unknown.void.never类型讲解 1. any 2. unknown 3. void 4. never 1. any any: 表示任意类型都可以,开发中应尽 ...

  3. TS 中 any 和 unknown 的区别

    在 TypeScript 中, 如果有一个场景,不太好定义类型,但是你自己知道你在做什么,你自己知道它类型肯定是什么,这个时候可能就会忍不住使用 any.如果你有类似的经历,你应该会理解我的意思,没有 ...

  4. [译] 理解 TypeScript 中 any 和 unknown

    译者: 在实际场景中, 很少看到有人在 Typescript 中使用 unknown , 使用unknown 可以保证类型安全,使用 any 则彻底放弃了类型检查 , 在很多情况下, 我们可以使用 u ...

  5. TypeScript中interface 与 type的区别,你真的懂吗?

    在写 ts 相关代码的过程中,总能看到 interface 和 type 的身影.它们的作用好像都一样的,相同的功能用哪一个都可以实现,也都很好用,所以也很少去真正的理解它们之间到底有啥区别, 分别在 ...

  6. typescript中type、interface的区别

    一.概念定义 interface:接口 在TS 中主要用于定义[对象类型],可以对[对象]的形状进行描述. type :类型别名 为类型创建一个新名称,它并不是一个类型,只是一个别名. 二,区别 in ...

  7. typescript中接口和类的区别

    ts中的接口 一般用来定义数据结构,因为ts中的interface不同于其它强类型语言的一点是,interface中可以定义变量,这就使得interface还可以充当一些model对象的基类使用,而并 ...

  8. typescript 中 let和var的区别

    1,var可以声明同名变量,但let不可以: var a = 0; var a = 1; // 不会报错 let b= 0; let b = 1;  // 会报错 var的作用域是函数作用域,在内层循 ...

  9. TypeScript中的interface、type、class——泰联病从口入

    先看效果 type 和 interface 有什么异同? 1.interface侧重于描述数据结构,type侧重于描述类型 interface A{name:string; } type B = 'b ...

最新文章

  1. Oracle表记录字节长长度的两种计算方式
  2. java 洗牌_java数组之完美洗牌算法
  3. 多媒体基础:动画和视频知识笔记
  4. 计算机无法同步时间,为什么在Win7中无法同步计算机时间?
  5. 使用json-lib进行Java和JSON之间的转换
  6. 人脸检测,微软提出用RNN代替CNN
  7. 关于动态生成div的认识
  8. RabbitMq(十六)单机多实例集群搭建步骤介绍
  9. 【每天get 一点新知识】Python print 打印结果(字符串类型)前面添加 说明
  10. Okhttp之同步和异步请求简单分析
  11. Spark streaming消费Kafka的正确姿势
  12. 计算机高级筛选操作步骤,【EXCLE表格中根据特定的条件进行高级筛选】计算机excel高级筛选步骤...
  13. 点击html内任意图片放大,再点击关闭放大图片
  14. 计算机图像处理实验二 图像直方图及灰度变换
  15. 如何群发邮件不进垃圾邮箱?群发邮件进了垃圾箱怎么办?
  16. P3386 【模板】二分图匹配(匈牙利算法)
  17. 插图设计正流行,10大理由告诉你如何靠它增强用户体验
  18. 兰伯特(Lambert)方程的求解算法3
  19. 研发平台演进:从工具链到开放平台
  20. 【天光学术】中国大学英语专业学年论文写作特点

热门文章

  1. maven将第三方依赖包添加到pom文件
  2. 人生苦短,用Python爬取微博大V
  3. harries算子特征提取与图像匹配
  4. Ubuntu20.04 ffmpeg添加 Intel核显QSV加速支持
  5. 联想主板bios设置u盘启动项的方法怎么操作
  6. Java基础学习系列--(二)【抽象类,接口、代码块、final、单例、枚举】
  7. 在标准c语言中 =是判断两个数是否相等,='运算符用于判断两个数是否相等。
  8. 关闭子窗口父窗口刷新
  9. 运动目标检测之帧差法
  10. cstring转int(long转CString)