TypeScript中any与unknown的区别
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);
区别:
- any 会绕过类型检查,直接可用,而 unkonwn 则必须要在判断完它是什么类型之后才能继续用
TypeScript中any与unknown的区别相关推荐
- ts中any 、unKnown的区别
ts中any .unKnown的区别 any和unknown 两者都是顶级类型(top type),任何类型的值都可以赋值给顶级类型变量 const a:any = '字符串'//不报错 const ...
- TypeScript中any、unknown、void、never类型讲解
TypeScript中any.unknown.void.never类型讲解 1. any 2. unknown 3. void 4. never 1. any any: 表示任意类型都可以,开发中应尽 ...
- TS 中 any 和 unknown 的区别
在 TypeScript 中, 如果有一个场景,不太好定义类型,但是你自己知道你在做什么,你自己知道它类型肯定是什么,这个时候可能就会忍不住使用 any.如果你有类似的经历,你应该会理解我的意思,没有 ...
- [译] 理解 TypeScript 中 any 和 unknown
译者: 在实际场景中, 很少看到有人在 Typescript 中使用 unknown , 使用unknown 可以保证类型安全,使用 any 则彻底放弃了类型检查 , 在很多情况下, 我们可以使用 u ...
- TypeScript中interface 与 type的区别,你真的懂吗?
在写 ts 相关代码的过程中,总能看到 interface 和 type 的身影.它们的作用好像都一样的,相同的功能用哪一个都可以实现,也都很好用,所以也很少去真正的理解它们之间到底有啥区别, 分别在 ...
- typescript中type、interface的区别
一.概念定义 interface:接口 在TS 中主要用于定义[对象类型],可以对[对象]的形状进行描述. type :类型别名 为类型创建一个新名称,它并不是一个类型,只是一个别名. 二,区别 in ...
- typescript中接口和类的区别
ts中的接口 一般用来定义数据结构,因为ts中的interface不同于其它强类型语言的一点是,interface中可以定义变量,这就使得interface还可以充当一些model对象的基类使用,而并 ...
- typescript 中 let和var的区别
1,var可以声明同名变量,但let不可以: var a = 0; var a = 1; // 不会报错 let b= 0; let b = 1; // 会报错 var的作用域是函数作用域,在内层循 ...
- TypeScript中的interface、type、class——泰联病从口入
先看效果 type 和 interface 有什么异同? 1.interface侧重于描述数据结构,type侧重于描述类型 interface A{name:string; } type B = 'b ...
最新文章
- Oracle表记录字节长长度的两种计算方式
- java 洗牌_java数组之完美洗牌算法
- 多媒体基础:动画和视频知识笔记
- 计算机无法同步时间,为什么在Win7中无法同步计算机时间?
- 使用json-lib进行Java和JSON之间的转换
- 人脸检测,微软提出用RNN代替CNN
- 关于动态生成div的认识
- RabbitMq(十六)单机多实例集群搭建步骤介绍
- 【每天get 一点新知识】Python print 打印结果(字符串类型)前面添加 说明
- Okhttp之同步和异步请求简单分析
- Spark streaming消费Kafka的正确姿势
- 计算机高级筛选操作步骤,【EXCLE表格中根据特定的条件进行高级筛选】计算机excel高级筛选步骤...
- 点击html内任意图片放大,再点击关闭放大图片
- 计算机图像处理实验二 图像直方图及灰度变换
- 如何群发邮件不进垃圾邮箱?群发邮件进了垃圾箱怎么办?
- P3386 【模板】二分图匹配(匈牙利算法)
- 插图设计正流行,10大理由告诉你如何靠它增强用户体验
- 兰伯特(Lambert)方程的求解算法3
- 研发平台演进:从工具链到开放平台
- 【天光学术】中国大学英语专业学年论文写作特点