美文网首页程序员
TypeScript -- 基本类型

TypeScript -- 基本类型

作者: 柚子硕 | 来源:发表于2020-05-29 11:33 被阅读0次
    //1.原始类型
    let bool: boolean = false
    let num: number = 123
    let str: string = '恰烂钱'
    
    //2.数组
    let arr2: number[] = [1, 3, 5]
    let arr1: Array<number> = [1, 3, 5]
    let arr3: Array<number | string | object> = [1, '2', {}]
    
    //3.元组
    let tuple: [number, string] = [0, '5']
    tuple.push(2)
    console.log(tuple)
    //console.log(tuple[2]) //err  可以添加但是无法访问
    
    //4.函数
    let add = (x: number, y: any): number => x + y
    console.log(add(5, 's'))
    console.log(typeof (add(5, 's')))//string\
    //限制参数类型、返回值类型后 并不影响在实际调用中传入其他参数类型
    let compute: (x: number, y: number) => number
    //在调用compute时编译器会根据之前的类型描述做出提醒、相当于使用说明,但是可以不遵守
    compute = (a, b) => a + b
    
    //5.对象
    let obj: { x: number, y: number } = { x: 1, y: 2 }
    //obj.x = '3'  //--报错 
    obj.x = 5
    
    //6.symbol
    let s1: symbol = Symbol()
    let s2: symbol = Symbol()
    console.log(s1 === s2) // false
    
    //7.underfind , null
    let und: undefined = undefined
    let nul: null = null
    //num = und 和 num = nul 都会报错
    //null underfind 在TS中是任何类型的子类型,是可以赋值给其它类型的
    //在tsconfig.json中设置strictNullChecks为false,实现任何类型都可以赋值 null 和 underfind
    
    //8.void 它表示没有任何类型。
    //声明一个void类型的变量没有什么大用,因为你只能为它赋予undefined和null
    let noReturn = () => {}
    
    //9.any  和写JS一样了,所以不建议使用any类型
    let x
    x = 1
    x = '2'
    x = []
    x = ()=>{}
    
    //10.never
    // 返回never的函数必须存在无法达到的终点
    function error(message: string): never {
        throw new Error(message);
    }
    
    // 推断的返回值类型为never
    function fail() {
        return error("Something failed");
    }
    
    // 返回never的函数必须存在无法达到的终点
    function infiniteLoop(): never {
        while (true) {
        }
    }
    

    相关文章

      网友评论

        本文标题:TypeScript -- 基本类型

        本文链接:https://www.haomeiwen.com/subject/kmdxzhtx.html