TS 类型1

74 阅读2分钟
// 最好种树的时机,就是十年前,或者是现在.十年前不知道种树有啥用?所以只能现在开始了。
今天回顾ts:
1.ts声明基本类型
    number: let num: number = 666; let num1: number = 0xf00d
    string: let stringValue: string = 'value' let stringValue: string = '你好'
    boolean: let booleanValue: boolean = true
    array: let arrValue: number[] = [1, 3]; let arrValue: Array<number> = [1, 2]
    元组: 元组类型用来表示已知元素的数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同
        let x: [string, number]  x = ['你好', 2]
    枚举: 枚举类型用于定义数值集合
        enum Color { red, green, blue }  let cColor: Color = Color.blue   console.log(c) // 2
    void: 用于标识返回值的类型, 表示该方法没有返回值
        function getData ():void {}
    null: 表示对象值缺失
    undefined: 用于初始化一个未定义的值
    never: 其他类型(包括 null undefined) 的子类型,代表不会出现的值
    
    注意: 
        any: 类型(ts针对类型不明确使用的类型: 1. 变量会动态改变, let x: any = 1; x = '你好' x = false; 2.定义存储各种类型数据时, let arrList: any[] = [1, 2, '你好'])
        null: null 是只有一个值的特殊类型, 表示一个空对象的引用· let x: number | null | undefined
        x = 1; x = undefined x = null
        never: 其他类型(包括 nullundefined)的子类型,代表从不会出现的值,这意味着never类型变量只能被never类型所赋值,在函数中通常表现为抛出异常或无法执行到终点
        let x: never
        let y: number
        x = 133 // 错误
        x = (()=>{throw new Error('exception')})() // 正确
        y = (()=>{ throw new Error('exception')})() // never 可以赋值给number类型
        function error (message: string):never{ throw new Error('message')} // 返回值never的函数可以是抛出异常的情况
        function loop():never{ while(true) {}} // 返回值never的函数可以是无法被执行到的终点的情况