TypeScript中any、unknown、void、never类型讲解
TypeScript中any、unknown、void、never类型讲解
- 1. any
- 2. unknown
- 3. void
- 4. never
1. any
any: 表示任意类型都可以,开发中应尽量避免使用
let app:any = document.getElementById('box')
2. unknown
unknown: 一般来说,这个类型并不是开发者手写的,是网络传来的,需要配和断言使用(在使用的时候需要明确这个变量的类型,可以多次指定类型)
type A = {name:string}
type B = {age:number}
// 模拟ajax传递过来的数据
let c: unknown = JSON.parse("{'name':"Tom"}") let var1 = (c as A).name
let var2 = (c as B).age
3. void
void: 表示函数没有返回值
- 实际编码中,其实可以 “return null” 或者 “return undefined” ,但是没有意义,应该是语法上的兼容而已
let print: () => void = function() {console.log('没有返回值的函数')
}function test(): void {// do something
}
4. never
never:表示不存在的值的类型
- 开发中使用较少,一般用于抛出异常、无限循环的函数返回类型
- 出现该类型的时候,注意检查代码是否有问题
eg1:
type Code = 1|2|3|undefined
let dir:Code // 表示dir的取值只能是”1,2,3,undefined“ 四者之一
switch(dir){case 1:break;case 2:break;case 3:break;case undefined:break;default:console.log('如果进入该分支,表示dir的值不在”1,2,3,undefined“中, 即为never类型')
}
语法:
function test():never {while() {// do something }
}function test2():never {// do somethingthrow new Error('出错了!!!')
}
TypeScript中any、unknown、void、never类型讲解相关推荐
- 写TS效率大提升,TypeScript中常用内置工具类型Omit、Pick、Partial、Required、Readonly、Exclude 、Extract
TS中常用的工具映射类型,让写TS时效率大大提升,避免无意义的重复性定义. 1.Omit 省略/剔除 顾名思义 可以剔除 已定义对象中 自己不需要的一部分形成新的定义类型. interface Use ...
- typescript 中使用 setTimeout 返回值类型 eslint 检查错误 ‘NodeJS‘ is not defined.eslint(no-undef)
项目场景: 前端项目 使用typescript eslint 问题描述 使用setTimeout 函数,接收其返回值. 返回值类型 function setTimeout<TArgs exten ...
- any、never......TypeScript 中这些特殊的类型,你会用了吗?
作者 | geekAbyte 译者 | 弯月 出品 | CSDN(ID:CSDNnews) 以下为译文: 在本文中,我们来简要地讨论一下 TypeScript 中的三种有趣的类型:any.unknow ...
- [译] 理解 TypeScript 中 any 和 unknown
译者: 在实际场景中, 很少看到有人在 Typescript 中使用 unknown , 使用unknown 可以保证类型安全,使用 any 则彻底放弃了类型检查 , 在很多情况下, 我们可以使用 u ...
- TypeScript学习(七):类型断言
前面我们提到了值类型,在我们设置值类型的时候,有一种定义方式就是联合类型的设定,如下: let a: number | string; a = 1; // 类型推论:此时变量a为number类型 a ...
- TypeScript 中类型 any,void,unknown,never之间的区别
文章出自个人博客 https://knightyun.github.io/2021/04/03/js-ts-type-compare,转载请申明 TypeScript 拓展了 JavaScript 的 ...
- 扯一扯 typescript中几种类型 (附带 环境安装)
首先还是老生畅谈的问题哈,什么是typescript 我们怎么在本地编写ts 和如何编译成js呢 typescript 是js的超集哈,说通俗点就是 js的外壳上又套了层 皮 穿上了 更高级的衣服 但 ...
- typeScript面试必备之-通识七:typeScript中的可索引接口(数组,对象)+类类型接口...
可索引接口:数组.对象的约束 (不常用) ts定义数组的方式 var arr:number[]=[2342,235325]var arr1:Array<string>=['111','22 ...
- [译] TypeScript 3.0: unknown 类型
原文地址:TypeScript 3.0: The unknown Type 原文作者:Marius Schulz 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- ...
最新文章
- 温网停赛,AI不停赛:斯坦福新研究模拟网球名将打比赛
- TP 框架实现支付宝接口功能
- 自定义ImageView 实现双击放大缩小还原,无极缩小和旋转及拖动(多机型测试很稳定)
- 【CodeForces - 689D】Friends and Subsequences(RMQ,二分 或单调队列)
- vue面试有哪些插件_vue 前端框架面试问题汇总
- Spring Boot学习总结(1)——Spring Boot入门
- Python DearPyGui 进阶
- 打开VS项目时出错 MSBuild。。。
- 急需“五彩连珠”小游戏的代码
- 15b万用表怎么测电容_怎么判断启动电容好坏_启动电容怎么测量好坏_数字万用表测电容好坏...
- java中n次方怎么表示_java中的一个数的N次方
- 万字综述自动驾驶数据闭环
- 账户维护账户服务器,win10重装之后卡在账户登录界面怎么办_网站服务器运行维护,win10,账户...
- 安卓+七牛云的第三方图片存储实践
- flask怎么创建虚拟环境_在Windows OS中创建虚拟环境并在本地运行Flask应用程序
- 难说 | 新读了几本书
- [前端案例]百行代码实现炫酷时钟
- 12星座都是什么性格?(python爬虫+jieba分词+词云)
- 互联网+人社峰会召开腾讯开放三大能力建“人社”生态
- 微软下载中心使用Silverlight搜索