【TS】any和void
any类型
any
类型,在ts
中是一个万能类型,它可以替代所有类型,也就是说定义了any
类型,就不用担心ts
的类型束缚,但如果所有的类型都使用any
那么ts
就失去了它的作用,我们使用ts
就是为了规范类型,any
的主要使用场景是当一个值不确定的时候使用,此外要避免滥用any
类型。
语法:let 变量名 : any = 值
let str : any = 100
console.log(str); // 输出 100
str = '东方不败'
console.log(str); // 输出 东方不败
any
在数组中的运用:
在使用数组的时候,数组内通常会存储很多值,这些值都不是固定的,有些值还不能确定其类型,而且数组内的个数也不确定,此时可以使用any
定义数组。
let arr : any[] = [100,'孙悟空',true]
console.log(arr); // 输出 [100,'孙悟空',true]
any的注意事项
可以用一些方法对值进行操作,比如字符串拆分方法,将字符串拆分成数组
console.log(arr[1].split(''));
// 字符串拆分 输出 : ['孙', '悟', '空']
如果是数组类型的值,字符串方法肯定是拆分不了的,由于使用了any
类型,ts
不会有错误提示,直接在输出的时候报错,也就是我们说是的浏览器控制台报错
console.log(arr[0].split('')); // arr[0] 的值为 100
// 报错,数字拆分不了,any的弊端,这种情况下没有错误提示
any
有优点,也有缺点,需要合理使用any
,避免滥用any
void类型
在函数声明的时候,小括号后面使用void
,代表该函数没有任何的返回值
语法: function 函数名() : void { }
// 正常声明函数 return
function msg(){
let str = '艺术概论'
return str
}
console.log(msg()); // 输出 艺术概论
使用void
直接报错提示,void
没有返回值
function msg2():void{
let str = '世界现代设计史'
return str // 此处直接报错提示
}
console.log(msg2());
正确使用void
function msg2():void{
let str = '世界现代设计史'
console.log(str)
}
msg2(); // 输出 世界现代设计史
void
有空白、无效的意思,也就是说void
没有任何类型,所以给 void
赋值时会报错,void
的赋值只有undefined
是正确的。
let vd : void = 1 // 报错
let vd2 : void = '东方不败' // 报错
let vd3 : void = true // 报错
let vd5 : void = null // 报错
let vd4 : void = undefined // 正确
案例源码:https://gitee.com/wang_fan_w/ts-seminar
如果觉得这篇文章对你有帮助,欢迎点亮star
16 声望
6 粉丝
推荐阅读
一文搞懂原型和原型链
在了解原型和原型链之前首先得明确它俩是什么东西:原型:prototype又称显示原型1、原型是一个普通对象2、只有构造函数才具备该属性3、公有属性可操作隐式原型:__proto__1、只有对象(普通对象、函数对象)具备2...
兔子先森阅读 58
Vue微信公众号开发踩坑记录
JS-SDK需要向服务端获取签名,且获取签名中需要的参数包括所在页面的url,但由于单页应用的路由特殊,其中涉及到iOS和android微信客户端浏览器内核的差异性导致的兼容问题
imwty赞 132阅读 67.8k评论 81
手把手教你写一份优质的前端技术简历
不知不觉一年一度的秋招又来了,你收获了哪些大厂的面试邀约,又拿了多少offer呢?你身边是不是有挺多人技术比你差,但是却拿到了很多大厂的offer呢?其实,要想面试拿offer,首先要过得了简历那一关。如果一份简...
tonychen赞 153阅读 18k评论 5
正则表达式实例
收集在业务中经常使用的正则表达式实例,方便以后进行查找,减少工作量。常用正则表达式实例1. 校验基本日期格式 {代码...} {代码...} 2. 校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊...
寒青赞 57阅读 8.7k评论 11
JavaScript有用的代码片段和trick
平时工作过程中可以用到的实用代码集棉。判断对象否为空 {代码...} 浮点数取整 {代码...} 注意:前三种方法只适用于32个位整数,对于负数的处理上和Math.floor是不同的。 {代码...} 生成6位数字验证码 {代码...} ...
jenemy赞 49阅读 7.4k评论 12
再也不学AJAX了!(二)使用AJAX ① XMLHttpRequest
「再也不学 AJAX 了」是一个以 AJAX 为主题的系列文章,希望读者通过阅读本系列文章,能够对 AJAX 技术有更加深入的认识和理解,从此能够再也不用专门学习 AJAX。本篇文章为该系列的第二篇,最近更新于 2023 年 1...
libinfs赞 42阅读 7k评论 12
CSS 绘制一只思否猫
欢迎关注我的公众号:前端侦探练习 CSS 有一个比较有趣的方式,就是发挥想象,绘制各式各样的图案,比如来绘制一只思否猫?思否猫,SegmentFault 思否的吉祥物,是一只独一无二、特立独行、热爱自由的(>^ω^<...
XboxYan赞 48阅读 3.4k评论 14
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。