• TS第一讲-----基础类型


    1、基础类型

    // 布尔值
    let flag:boolean = true
    
    // 数字类型
    let a1:number = 10 // 十进制
    let a2:number = 0b1010  // 二进制
    let a3:number = 0o12 // 八进制
    let a4:number = 0xa // 十六进制
    
    // 字符串类型
    let name:string = 'tom'
    name = 'jack'
    
    // undefined类型、null类型
    let und:undefined = undefined
    let nll:null = null
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    注意:在非严格模式下(即tsconfig.json中strict为false时), 你可以把 null 和 undefined 赋值给其它类型的变量。

    let num2:number = null
    let desc:string = undefined
    
    • 1
    • 2

    总结ts中变量一开始是什么类型的值,后期赋值时,不允许其它类型的值赋值给它

    2、数组类型

    2.1、ts中数组定义方式1----- let 变量名:数据类型[] = [值1,值2]

    let arr1:number[] = [10,20]
    
    • 1

    2.2、ts中数组定义方式2:泛类型写法 ----- let 变量名:Array<数据类型> = [值1,值2]

    let arr2:Array<number> = [1,2]
    
    • 1

    2.3、元组类型:在定义数组的时候,第一项数据的类型 和 数据的个数一开始就已经确定了

    let arr3:[string,number,boolean] = ['hello',100.986,true]
    console.log(arr3)
    console.log(arr3[1].split())
    console.log(arr3[1].toFixed(2))
    
    • 1
    • 2
    • 3
    • 4

    3、object类型

    object 表示非原始类型,也就是除 number,string,boolean之外的类型。

     function getObj(obj:object):object{
      	 console.log(obj)
         return {
             name:'',
             age:100
         }
     }
     let info:object = {}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    4、any 类型-----可以存储任意类型的值

    let strs:any = 100
    strs = "hello any!"
    
    // 当一个数组中要存在多个任意类型的数据时,可用any
    let arr4:any[] = [100,"字符串",true]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5、void类型----- 表示没有任何类型

    在函数声明时,小括号后面使用 :void ,表示该函数没有返回值:

    function showMsg():void{
     	console.log('show msg')
    }
    
    • 1
    • 2
    • 3

    6、联合类型---- 表示取值可以为多种类型中的一种

    6.1、 定义一个函数,参数是 数字类型或字符串类型

    function toString2(x: number | string) : string {
     	return x.toString()
    }
    
    • 1
    • 2
    • 3

    6.2、类型断言 ----- 可以用来手动指定一个值的类型,告诉编译器,我知道我自己是什么类型,我知道自己在干什么”

    类型断言的书写方式

    • <类型>值
    • 值 as 类型
    //定义一个函数,得到一个数字或字符串值的长度
    function toString3(x: number | string) : number {
        if((<string>x).length){    // 类型断言写法一  <>值
            return (x as string).length    // 类型断言写法二 值 as 类型
        } else {
            return x.toString().length
        }
    }
    console.log(toString3(100))  
    console.log(toString3('hello world!'))  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    7、类型推断----TS会在没有明确的指定类型的时候推测出一个类型

      1. 定义变量时赋值了, 推断为对应的类型.
      1. 定义变量时没有赋值, 推断为any类型
    let txt = 100   // 推断是number类型
    // txt = 'hello'  报错
    console.log(txt)
    
    let txt2;   // 推断是any类型
    txt2 = 100
    txt2 = 'how are you?'
    console.log(txt2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    算法-卡尔曼滤波之卡尔曼滤波的其他三个方程
    vue 图片引入的各种方式
    Stable Diffusion插件:StyleSelectorXL 之七十七种绘画风格任君选择
    Oracle数据库环境变量配置以及可能遇到的问题解决
    【STM32】STM32中断体系
    浅析如何在抖音快速通过新手期并积累粉丝
    【Meetup明天见】OpenMLDB+AutoX:整合自动特征工程,拥抱高效机器学习​
    Dell PowerEdge服务器的iDRAC修复方法与步骤
    解析Apache Kafka中的事务机制
    剑指 Offer 18. 删除链表的节点
  • 原文地址:https://blog.csdn.net/yiyueqinghui/article/details/126124337