• 【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);  // 输出 东方不败
    
    • 1
    • 2
    • 3
    • 4
    • 5

    any在数组中的运用:
    在使用数组的时候,数组内通常会存储很多值,这些值都不是固定的,有些值还不能确定其类型,而且数组内的个数也不确定,此时可以使用any定义数组

    let arr : any[] = [100,'孙悟空',true]
    console.log(arr);   // 输出 [100,'孙悟空',true]
    
    • 1
    • 2

    any的注意事项
    可以用一些方法对值进行操作,比如字符串拆分方法,将字符串拆分成数组

    console.log(arr[1].split(''));  
    // 字符串拆分  输出 :  ['孙', '悟', '空']
    
    • 1
    • 2

    如果是数组类型的值,字符串方法肯定是拆分不了的,由于使用了any类型,ts不会有错误提示,直接在输出的时候报错,也就是我们说是的浏览器控制台报错

    console.log(arr[0].split(''));  // arr[0] 的值为 100
    // 报错,数字拆分不了,any的弊端,这种情况下没有错误提示
    
    • 1
    • 2

    在这里插入图片描述
    any有优点,也有缺点,需要合理使用any,避免滥用any


    void类型

    在函数声明的时候,小括号后面使用void ,代表该函数没有任何的返回值
    语法: function 函数名() : void { }

    // 正常声明函数 return 
    function msg(){
        let str = '艺术概论'
       return str
    }
    console.log(msg());  // 输出 艺术概论
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    使用void直接报错提示,void没有返回值

    function msg2():void{
        let str = '世界现代设计史'
       return str  // 此处直接报错提示
    }
    console.log(msg2());  
    
    • 1
    • 2
    • 3
    • 4
    • 5

    正确使用void

    function msg2():void{
        let str = '世界现代设计史'
       console.log(str)
    }
    msg2();   // 输出 世界现代设计史
    
    • 1
    • 2
    • 3
    • 4
    • 5

    void有空白、无效的意思,也就是说void没有任何类型,所以给 void赋值时会报错,void的赋值只有undefined是正确的。

    let vd : void = 1    // 报错
    let vd2 : void = '东方不败' // 报错
    let vd3 : void = true // 报错
    let vd5 : void = null // 报错
    let vd4 : void = undefined // 正确
    
    • 1
    • 2
    • 3
    • 4
    • 5

    案例源码:https://gitee.com/wang_fan_w/ts-seminar

    如果觉得这篇文章对你有帮助,欢迎点亮star

  • 相关阅读:
    Python综合案例(基本地图使用)
    【数据结构初阶(4)】栈的基本操作实现
    洛谷P1271 【深基9.例1】选举学生会
    RPC client之OpenFeign
    MySQL索引事务
    MindSpore数据集加载-调试小工具 py-spy
    数据趣事:历史最高温的是新疆吐鲁番?重庆45℃高温仅排全国第二
    CVE-2022-22965 Spring Framework远程命令执行
    【ARM】UART串口与看门狗——第五篇
    论文阅读:Seeing in Extra Darkness Using a Deep-Red Flash
  • 原文地址:https://blog.csdn.net/qq_44793507/article/details/127822238